二 RI主程式分析

2021-08-20 05:06:13 字數 1795 閱讀 9537

繼上篇介紹完ri的架構,我們來step by step實現這個系統。讀者將跟隨我在5個課程中完成它。

本篇只是搭建乙個殼,包括主應用程式shell,公共類庫infrastructure,以及4個暫時沒有任何功能的module,最終的效果是,通過shell載入並執行這4個module。

marketmodule -> positionmodule -> watchmodule -> newsmodule

我們對mudule功能的擴充也是按照這個順序。

接下來,新增這4個模組。統一使用如下格式的依賴注入(以marketmodule為例):

public class 

marketmodule : imodule

#region imodule members

public void initialize()

#endregion

}

相應地建立view,暫時什麼邏輯都不用加。

同時,在主程式的shell.xaml中,定義了4個region,參考下圖:

這些region定義在公共類庫infrastructure的regionnames列舉中,我們之前有提到過:

第一階段效果圖如下,對,啥都沒有:

是不是感覺不過癮?於是我們在shell中也使用了mvp模式,做法如下:

1)建立ishellview,對外暴露showview方法,並使shell這個view實現這個介面:

public inte***ce 

ishellview

public partial class 

shell : window, ishellview

#region ishellview members

public void showview()

#endregion

}

2)建立shellpresenter

public class 

shellpresenter

public

ishellview view

}

protected override void configurecontainer()

protected override 

dependencyobject createshell()

我們發現,這裡使用的是presenter-first的方式——即先建立presenter,再建立view。以上四個步驟,是建立乙個mvp模式的標準流程(本例沒有model,充其量也就算vp模式)。在接下來的章節,我們將看到view-first、vm等諸多變體。

在主程式中,原本還有實現ilogge***cade以記錄log,也就是enterpriselibraryloggeradapter這個類,目前暫時用不到,我們會在稍後部分看到它的玩法。

指令碼宿主程式

宿主的功用 裝載.dfm檔案動態生成窗體 註冊動態生成窗體中的類,物件,屬性,方法,函式,從而讓指令碼引擎能夠操作它們。下面以tms scripter studio為例 unit umain inte ce uses windows,messages,sysutils,variants,classe...

Python基礎知識二 主程式集

本篇將開始介紹在python如何建立主程式,並執行主程式。建立乙個名為demo.py的檔案,並開始編寫乙個確認1至10之間的值是奇數還是偶數的程式。在python中建立乙個主程式使用的是def 定義方法 函式 緊接著是方法名 函式名 括號內部為方法 函式 的引數,內部為方法 函式 的具體功能實現 1...

WPF 主程式合併程式集

但ilmerge不支援wpf程式,下面二步操作即可實現ilmerge一樣的功能,並且是整合在vs開發環境的中。1.將wpf主程式 exe工程 解除安裝,在編輯工程檔案,在xml最後部分新增上下面一段配置 importproject msbuildtoolspath microsoft.csharp....