一步步實現自己的框架系列(一):初步架構功能設計


  我想很多人都有想寫一個自己框架的願望,然后各種應用都可以使用。可是由於各種原因,很多時候也是在想象中,並沒有自己一步一步去實現,而我也是這其中的一員。不管你是新手跟着我一起做還是大牛批評指點,歡迎訪問,不管是板磚還是表演既然來了何不留下痕跡做紀念呢?

  人生需要規划,架構也一樣,沒有計划的最終會偏離原先的設想。

  就像阿甘正傳中給船起名字一樣,沒有名字的船是不吉祥的,所以他給船起了珍妮號,他最喜歡女孩的名字。我也給自己框架起個名字吧,本人光棍一個,就起我外號廣林的縮寫吧GL。

  首先,指定我們的初步目標,我希望我的框架涉及以下功能點

1.首先語言使用C#語言

2.我們要做的是CS架構

3.另外我希望我的框架的是靈活可擴展的,所以這是一個插件平台

4.通信方面使用的WCF

5.Client端使用WPF界面展示,這樣就可以做出很吸引人的程序。我記得有一句話是這么說的,一個擁有好的展現手法,爛的框架的項目,可能不會通過,但是一個好的框架,沒有一個很好的表現手法這個項目肯定不會通過。這就像我們都喜歡美女一樣。

6.異常機制不可缺失,沒有異常機制的平台,我想它應該不好

  好了,有了我們的初步目標了,下一步就是基本框架設計了

   一個服務端對應多個客戶端,每個客戶端在服務端建立相應的Session,客戶端每打開一個頁面,服務端在對應的Session里建立相應的頁面服務,客戶端與服務端數據交換采用WCF,一個簡易的框架涉及這樣就有了,大家覺得有什么不妥的地方或者改進的地方可以留言給我,這只是我的初步設想,沒有接觸到太多架構方面的東西,歡迎大家推薦一些優秀設計交流。

  沒有清晰的思路做起事情來就顯得笨手笨腳的,下面就來設計我的頁面接口吧

我覺得頁面的生命周期的初始化與關閉不可少,另外客戶端與服務端通信是必須的,這樣頁面接口清晰明了,我們后面的設計也會得心應手了。

既然有頁面,那么客戶端服務端的頁面就會有很多,如果沒有合理的設計就會混亂,那么頁面管理需求就有了

好吧,我承認我不怎么會用Visio,設計個屬性都不會,返回值參數都沒有,圖示大家能看懂就行了,有潔癖的同學輕拍就好,上圖示例就是簡單的頁面管理器的設計接口,我們的目標又明確一步了。

一個服務端是有很多客戶端連接的,那就離不開Session了

Session的作用就是針對每一個客戶端建立的服務作用域,方便服務端生命周期管理,

有細粒度對象就需要管理,Session管理器就有了

基本設計都有了,設計目標清晰明了,下面就是動手的時刻,這一篇就到這里吧,我們就具體動手實戰了,有興趣的同學歡迎收聽。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM