繼上篇介紹完ri的架構,我們來step by step實現這個系統。讀者將跟隨我在5個課程中完成它。
本篇只是搭建乙個殼,包括主應用程式shell,公共類庫infrastructure,以及4個暫時沒有任何功能的module,最終的效果是,通過shell載入並執行這4個module。
marketmodule -> positionmodule -> watchmodule -> newsmodule
我們對mudule功能的擴充也是按照這個順序。
接下來,新增這4個模組。統一使用如下格式的依賴注入(以marketmodule為例):
相應地建立view,暫時什麼邏輯都不用加。public classmarketmodule : imodule
#region imodule members
public void initialize()
#endregion
}
同時,在主程式的shell.xaml中,定義了4個region,參考下圖:
這些region定義在公共類庫infrastructure的regionnames列舉中,我們之前有提到過:
第一階段效果圖如下,對,啥都沒有:
是不是感覺不過癮?於是我們在shell中也使用了mvp模式,做法如下:
1)建立ishellview,對外暴露showview方法,並使shell這個view實現這個介面:
2)建立shellpresenterpublic inte***ceishellview
public partial classshell : window, ishellview
#region ishellview members
public void showview()
#endregion
}
public classshellpresenter
public
ishellview view
}
protected override void configurecontainer()
我們發現,這裡使用的是presenter-first的方式——即先建立presenter,再建立view。以上四個步驟,是建立乙個mvp模式的標準流程(本例沒有model,充其量也就算vp模式)。在接下來的章節,我們將看到view-first、vm等諸多變體。protected overridedependencyobject createshell()
在主程式中,原本還有實現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....