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


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

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

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

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

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

    2.我们要做的是CS架构

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

    4.通信方面使用的WCF

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

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

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

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

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

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

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

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

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

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

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

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

      

  • 相关阅读:
    Lombok 同时使用 @Data 和 @Builder 的巨坑,千万别乱用!
    我的开源代码被大公司盗用后:有人承认,有人让我滚!!
    Oracle Performance Active Session History ASH图
    生活中不需节食的简单减肥技巧 生活至上,美容至尚!
    maven模块化开发
    Python+GDAL实现矢量转栅格
    舟曲县行政区划编码
    arcgis pro Generate Transects Along Lines沿线生成样带 (数据管理)
    GeoServer安装GDAL扩展&Java如何连接GDAL
    gltf和3dtiles的关系
  • 原文地址:https://www.cnblogs.com/guanglin/p/3076208.html
Copyright © 2020-2023  润新知