信息管理系統開發框架設計(九) - 程序運行框架

在前面設計了讀取系統配置信息的config模塊,與DBMS交互的DBHelper模塊,寫日誌的Logger模塊,MVC模塊,這些基本都是獨立存在的積木塊,我們需要將它們有效的結合在一起,構建出一個房屋框架來,然後在針對具體的業務領域時,我們就可以僅關注需要關注的地方。

這個信息系統的運行框架需要幫我們處理哪些事情?

1.需要一個運行入口(類似application.run的設計),

1.1. 初始化DBHelper實例(使用數據庫相關的配置信息)

1.2. 初始化Logger實例(使用日誌相關的配置信息)

1.3. 調用Login模塊實現系統登錄,獲取一個Session(根據配置信息來確定login模塊的相關信息,例如

  • 從系統配置文件獲取登錄模塊的信息
  • 不使用登錄界面<系統自動產生一個默認賬號,擁有系統所有權限>,
  • 是否自動登錄
  • 是否已記住上次登錄用戶名
  • 等等

 

1.4. 獲取系統的mainController,完成顯示主界面,設置用戶權限,配置用戶工作區,獲取用戶工作消息/工作任務等內容,具體功能由主程序的mainController實例提供實現。這個運行框架提供一個mainController屬性,然後提供一個run方法實現主程序的運行。框架主要代碼如下:

TEFFramework = class

private

  FMainControllerName: string;

public

  procedure run;

  property MainControllerName: string read FMainControllerName write FMainControllerName;

end;

 

implemention

 

{ TEFFramework }

procedure TEFFramework.run;

var

  mainController: TController;

begin

  if Login then

  begin

    mainController := TControllerFactory.findController(FMainControllerName);

    mainController.showView;

    application.run;

  end

  else

  begin

    application.terminate;

  end;

end;

 

至於mainController及MainView的實現就不在TEFFramework的範圍之內,這個可以放到具體的系統Project裏實現。

這樣,整個系統的運行框架搭建完成。

我們就可以使用這個框架來進行具體的系統設計了。

後續我會展示採用efFramework來實現一個APS生產排程系統。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章