MVC (モデル、ビュー、およびコントローラー) と同様にコードを分離しています。
2 つのビュー クラスがあるとします。1 つは概念的にはページ (多くのアイテムを含む) で、もう 1 つは単なるウィジェット (最近のニュースのリストなど) です。
これが私がそれを行う方法です:
コントローラーは、ページ クラスとウィジェット クラスの両方をインスタンス化し、ウィジェット オブジェクトをページに渡します。ページにたくさんのウィジェットがある場合、混乱させずにすべてを渡す方法を考え出す必要があります。
class PageController { function foo() { Widget widget1 = new Widget(); Widget widget2 = new Widget(); Page page = new Page(widget1, widget2); } } class Page { function Page(Widget widget1, Widget widget2) { //do something with the widgets } }
ページはウィジェット クラスをインスタンス化します。しかし現在、ページ クラスは、適切なインターフェイスを備えている限り、ビューをどこにでも配置できるのではなく、あらゆる種類のビューへの参照を持っています。
class PageController { function foo() { Page page = new Page(); } } class Page { function Page() { Widget widget1 = new Widget(); Widget widget2 = new Widget(); //do something with the widgets } }
他の何か?
あなたのアドバイスとその理由は何ですか?
ありがとうございました。