実現したいこと
共通処理をひとつのクラスに任せたいが抽象化させたい
formオブジェクトに保存ボタンコントローラがあるとする。
保存ボタンコントローラは保存という抽象メソッドを持ち、ボタンクリック時に処理を実行する
保存というクラスの実装はformオブジェクトのコードで行いたい。
発生している問題・分からないこと
例えば保存ボタンには保存しますか?というダイアログを出すだか、トランザクションを開始するだとか、何らかの共通処理があるが、共通処理はそのままに保存処理(バリデーションなども公開が考えられる)の中身だけform事に実装したい。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
実現不可能だと思っていますが、いい方法はないですか?
コールバック関数を使うは思いつきましたが美しくありません。
(そもそも、フォームオブジェクト内でボタンオブジェクトがインスタンス化されている時点で、継承もクソもないのは承知しています。)
補足
例えば画面ごとに「削除」や「検索」の様なボタンがあったり、なかったりすると仮定して、
Inherits 保存ボタンクラス,削除ボタンクラス
のように書いて実装が必要なメソッドを切り替えられるようにしたい
回答1件
あなたの回答
tips
プレビュー