一步步实现自己的框架系列(一):初步架构功能设计

  我想很多人都有想写一个自己框架的愿望,然后各种应用都可以使用。可是由于各种原因,很多时候也是在想象中,并没有自己一步一步去实现,而我也是这其中的一员。不管你是新手跟着我一起做还是大牛批评指点,欢迎访问,不管是板砖还是表演既然来了何不留下痕迹做纪念呢?

  人生需要规划,架构也一样,没有计划的最终会偏离原先的设想。

  就像阿甘正传中给船起名字一样,没有名字的船是不吉祥的,所以他给船起了珍妮号,他最喜欢女孩的名字。我也给自己框架起个名字吧,本人光棍一个,就起我外号广林的缩写吧GL。

  首先,指定我们的初步目标,我希望我的框架涉及以下功能点

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

2.我们要做的是CS架构

3.另外我希望我的框架的是灵活可扩展的,所以这是一个插件平台

4.通信方面使用的WCF

5.Client端使用WPF界面展示,这样就可以做出很吸引人的程序。我记得有一句话是这么说的,一个拥有好的展现手法,烂的框架的项目,可能不会通过,但是一个好的框架,没有一个很好的表现手法这个项目肯定不会通过。这就像我们都喜欢美女一样。

6.异常机制不可缺失,没有异常机制的平台,我想它应该不好

  好了,有了我们的初步目标了,下一步就是基本框架设计了

   一个服务端对应多个客户端,每个客户端在服务端建立相应的Session,客户端每打开一个页面,服务端在对应的Session里建立相应的页面服务,客户端与服务端数据交换采用WCF,一个简易的框架涉及这样就有了,大家觉得有什么不妥的地方或者改进的地方可以留言给我,这只是我的初步设想,没有接触到太多架构方面的东西,欢迎大家推荐一些优秀设计交流。

  没有清晰的思路做起事情来就显得笨手笨脚的,下面就来设计我的页面接口吧

我觉得页面的生命周期的初始化与关闭不可少,另外客户端与服务端通信是必须的,这样页面接口清晰明了,我们后面的设计也会得心应手了。

既然有页面,那么客户端服务端的页面就会有很多,如果没有合理的设计就会混乱,那么页面管理需求就有了

好吧,我承认我不怎么会用Visio,设计个属性都不会,返回值参数都没有,图示大家能看懂就行了,有洁癖的同学轻拍就好,上图示例就是简单的页面管理器的设计接口,我们的目标又明确一步了。

一个服务端是有很多客户端连接的,那就离不开Session了

Session的作用就是针对每一个客户端建立的服务作用域,方便服务端生命周期管理,

有细粒度对象就需要管理,Session管理器就有了

基本设计都有了,设计目标清晰明了,下面就是动手的时刻,这一篇就到这里吧,我们就具体动手实战了,有兴趣的同学欢迎收听。

  

原文地址:https://www.cnblogs.com/guanglin/p/3076208.html