程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .NET框架設計(高級框架架構模式)—鈍化程序、邏輯凍結、凍結程序的延續、瞬間轉移

.NET框架設計(高級框架架構模式)—鈍化程序、邏輯凍結、凍結程序的延續、瞬間轉移

編輯:C#入門知識

    •  
    •  
  • 4.DomainModel規則引擎(規則持久化後管理配置(簡介))

簡單描述:將基於棧的調用抽象成基於我們自己構建的虛擬運行時調用;

.NET框架設計 感興趣,框架設計思想其實真的很美,讓人陶醉;

.NETCLR直接管理的,依賴於棧的執行,所以我們無法干預其生命周期過程,那麼我們只有將它們對象化後才能由我們自己操控;

2.1】ProgramBookmark 實現(使用委托來錨定代碼書簽)

View Code

View Code

ProgramComponent.ProgramBookmark 對象,如果這裡出現關於流程無法繼續下去的條件就可以不創建往下執行的代碼書簽;在第二流程裡面我們獲取第一個流程設置的參數,這裡是一個Bool值,可以用來判斷上一個執行是否成功等信息;

2.2】ProgramBookmarkManager書簽管理器(書簽集合的處理,IEnumerable<T>書簽管理)

ProgramCompoent.ProgramBookmark集合上,這樣寫問題太大了,無法進行擴展改進;然後就是在構造函數中,我們使用了很長一段代碼來構造一個ProgramCompoent.ProgramBookmark對象,完全可以減少很多;還有就是在StartCheck方法的內部中進行循環調用書簽的代碼,也很有問題,完全可以封裝在內部實現,外部直接一個CurrentProgram屬性執行就行了;

ProgramCompoent.ProgramBookmark的管理器對象ProgramCompoent.ProgramBookmarkManager對象,它負責管理所有跟ProgramCompoent.ProgramBookmark對象相關的工作;

View Code

View Code

企業應用架構 中的 規約模式 有所了解的人應該會比較熟悉這一節的內容,跟規約模式很像,但不是一個東西,側重點不同;語句組件全面的概念是將所有的調用都對象化,包括一些輸出、輸入、網絡調用等等,這樣才是全部的語句組件定義,還記得我們上面的訂單檢查對象嘛,那個也是語句組件之一;

View Code

View Code

View Code

檢查流程代碼,OrderCheckFlows\OrderSubmitFlows類代碼:

View Code

調用代碼:

View Code

3.1】可恢復語句組件管理器(將可恢復語句視為普通的對象成員,IEnumerable<T>語句組件)

LanguageComponentManager來對LanguageComponent管理,當然也要看需要不需要;可恢復語句管理器其實有很多文章可以做,因為它是所有語句組件的中心,這對於後面的持久化有很大的用處;

3.2】可恢復語句組件運行時(Program CLR)

3.3】可恢復語句邏輯配置(規則的配置)

3.4】可恢復語句邏輯傳輸(將可恢復語句對象遠程傳輸)

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved