簡體   English   中英

視圖,演示者和界面之間的依賴關系

[英]dependencies between view, presenter and interface

我遇到了經典的循環依賴問題,但是我發現的解決方案(創建第三個程序集)似乎不適用於我的視圖呈現器模式。

我需要在我的視圖程序集中引用我的演示者我需要在我的視圖程序集中引用我的界面(與演示者在同一程序集中)

好的,因為它們都在同一位置,所以我在視圖中引用了presenter / interface組件。

現在問題來了:我需要在presenter / interfaces程序集中引用我的視圖,以便能夠使用我的視圖類型之一(非系統類型,自定義控件)在我的界面中定義屬性和訪問器。 我不能因為循環依賴,而且我認為即使我在第三個程序集中移動界面,在這個新程序集和視圖之間也總會有一張CD(因為我的視圖需要我的界面,而接口需要我的界面視圖)

目標是在我的界面中設置一個屬性和訪問器,以便能夠從我的演示者訪問我視圖中的控件,因此我需要引用才能在界面中使用控件類型。

要弄清楚並不容易,所以隨時問我更多,

在此先感謝大家。

最好的祝福。

通常,接口應該獨立存在。 當需要隔離實現時(例如,在視圖和演示者之間的引用中),請使用一個接口。 因此,如果有必要讓他們倆彼此了解,而不僅僅是彼此之間的了解,那么您應該具有演示者界面和查看界面。

例:

Interface.dll:

public interface IMyView { string title; }
public interface IMyPresenter { string GetTitle(); }

View.dll:

public MyView : IMyView
{
    private IMyPresenter _myPresenter;
    public string Title { get { return _myPresenter.GetTitle(); } }
}

Presenter.dll:

public MyPresenter : IMyPresenter
{
    private IMyView _myView;

    public string GetTitle()
    {
        return ResourceManager["titleResource"];
    }
}

盡管以我對模型視圖演示者的理解,該視圖不僅公開了演示者需要的所有內容,而且該視圖也不了解演示者,而是將IView交給演示者,並將其自身綁定到所有需要的視圖上?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM