これらはあなたのオプションです:
var cvp = new ContactViewPresenter(new ContactView());
ContactViewPresenter
コンストラクターは、を設定しthis.view = viewParam
、を設定しますthis.view.presenter = this
。プレゼンターにコードを保持し、必要に応じてビューを交換し、テストのためにビューのモックを渡すことができます。
var cv = new ContactView(new ContactViewPresenter());
ContactView
コンストラクターセット、、this.presenter = cvpParam
およびthis.presenter.view = this
。ビューにはいくつかのロジックがありますが、多くはありません。必要に応じてプレゼンターを交換できます。
ContactView cv = new ContactView();
ContactViewPresenter cvp = new ContactViewPresenter();
cv.presenter = cvp;
cvp.view = cv;
cv.init();
cvp.init();
これはもっとたくさんのコードです。
ContactViewPresenter cvp = new ContactViewPresenter();
コンストラクターはセットthis.view = new ContactView()
とを作成しますthis.view.presenter = this
。
ContactView cv = new ContactView();
コンストラクターセットthis.presenter = new ContactViewPresenter()
とthis.presenter.view = this
最後の2つは少し結合しすぎているようです。
1つは、コードがPresenterにとどまり、テストが容易になるという点で優れています。
2つは、プレゼンターをあまり気にする必要がなく、ビューについてもっと心配できるという点で優れています。