AgileEAS.NET平臺開發實例-藥店系統-系統架構設計

介紹

 

        本篇將會講述如何使用AgileEAS.NET敏捷開發平臺來進行藥店系統的開發,首先咱們須要根據需求文檔來設計出藥店系統的系統架構,才能繼續進行後續的開發工做,整數據庫

理好架構後,而後一步步的完成具體的詳細設計,數據庫建模等,這樣的完整步驟後,就能夠開展具體的編碼工做了,咱們首先來看看根據藥店系統的一些功能性的需求和非架構

功能性的需求來決定系統的架構設計,而且分解AgileEAS.NET平臺已提供的相關功能來結合分析。框架

 

分析

          1、AgileEAS.NET平臺的分層結構分佈式

        一、基於AgileEAS.NET平臺的邏輯架構設計分析性能

        image

        從上圖咱們能夠看出,AgileEAS.NET開發平臺之上的架構設計與咱們平時說的架構設計中的分層與設計之上並無什麼本質的差異,惟獨是底層的數據訪問層(DAL)上的網站

設計有一些細微的差異,下面咱們來畫圖分析下相關的區別。編碼

        AgileEAS.NET平臺使用的模型是充血模型,意味着模型自己除了附帶數據相關的信息外,還包含一些操做。spa

        image

        你們能夠看看AgileEAS.NET平臺中的DAL層就知道了,這裏我就不貼出相關的代碼了。.net

      二、AgileEAS.NET平臺的物理架構設計分析插件

    image

        上面給出了AgileEAS.NET平臺的物理架構中的的分佈式訪問形式,固然還有簡單的形式,即直接不經過分佈式訪問服務來訪問數據庫,而是直接UI層經過DAL層或者服務

層,來直連數據庫訪問數據,而不是分佈式的形式,具體的訪問圖以下:

        image 

        經過上面的分析,咱們應該對AgileEAS.NET平臺的相關設計架構支持有了必定的瞭解,那麼咱們在設計架構時,就考慮如何使用AgileEAS.NET平臺提供的對架構的

非功能性要求的支持。下面咱們就來看下如何結合藥店系統來分析架構。

        

藥店系統-架構設計

 

 

首先、能夠說如今的分層結構是很是的流行,也是很容易理解和很容易來使用,固然目前的任何架構其實都是能夠經過分層來達到必定程度的職責分離和低耦合,高內聚

的原則,可是咱們不會爲了分層而分層,那樣只會讓咱們的工做量變大和複雜。 完事都要講究一個平衡。

下面咱們來分析下,基於藥店,咱們來分析下藥店系統可能的分層結構。

image_thumb[32]

固然上圖只是給出了主要的功能模塊,還有一些統計分析和基礎數據維護等模塊,並無畫上,咱們只要知足這些主要的功能需求,下面咱們來看看一些非功能性的需

求,咱們在設計架構的時候,必需要考慮清楚非功能性需求,不然設計出來的結構只能失敗。

非功能性需求以下:

一、要支持遠程訪問,多用戶使用。

二、要性能高,效率快,易用性。

三、可擴展,可維護。

基於上述的幾點非功能性需求,恰好AgileEAS.NET敏捷開發平臺,爲咱們提供了以下的高強度的支撐,下面咱們畫圖來講明:

一、支持遠程訪問,多用戶使用。

image_thumb[38]

        固然普通形式也可使用服務層,這裏不會影響到具體功能的使用,這裏想說的是,平臺默認提供了對分佈式服務的支持。能夠作到無縫的切換。關於具體的分層設計與

你們原來的屢次結構並不衝突,只不過DAL層已經默認是充血模型了。

二、高性能,易用性等。

image_thumb[43]

三、可擴展性及可維護性

image_thumb[47]

因爲平臺採起的平臺+插件的組織形式,所以能夠作到以下要求:

一、可擴展。

二、並行開發。

三、平臺提供插件的配置與管理。包括資源的分配與回收,生命週期等管理。

下面咱們就來分析下根據上述的非功能性需求,咱們必需要完成的開發工做本來是要實現分佈式訪問的支持,如今咱們不須要實現這些內容,AgileEAS.NET平臺已經爲我

們實現了,咱們只是在使用該分佈式訪問服務時知足相應的服務定義要求便可。咱們具體的使用要求及定義要求,咱們會在後續的服務層的開發過程當中講述。

藥店系統的架構設計:

一、結合前面的非功能性需求,咱們設計出以下架構:

image_thumb[50]

二、固然若是說訪問太頻繁或者數據交互量大,咱們還能夠抽出DTO。

image

三、結合MVC框架來使用該架構:

image

        固然具體的應用場景如何結合來設計等,就是看咱們應用場景的需求了,咱們本系列將以第一個架構爲最終的版原本進行開發,咱們選取該架構的主要緣由是簡單,可

行,而且可以知足需求。

 

總結

 

        本篇主要是分析了AgileEAS.NET的架構及分析了藥店系統的總體架構設計,咱們並無關注一些細節方面的內容,後續關於一些更詳細的內容,將會在後面的開發過程當中

體現。固然因爲本人水平有限,部分不足或者設計剖析錯誤之處,還請你們指定。

 

藥店系統源碼

         download3

更多交流

官方博客:http://www.smarteas.net/

官方網站:http://www.agilelab.cn/

若是您在使用AgileEAS.NET開發平臺中有什麼問題,請使用以下幾種聯繫方式或者溝通方式。

一、郵箱方式:

魏瓊東: mail.james@qq.com 手機:18629261335 博客:http://eastjade.cnblogs.com/

殷長波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/

何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/

二、QQ交流羣:

AgileEAS.NET平臺交流羣:120661978(超級羣)[新建]  AgileEAS.NET平臺交流羣:125643764(高級羣)[新建]  AgileEAS.NET平臺交流羣:147168308(高級羣)[新建]

相關文章
相關標籤/搜索