浅谈软件分层

来源:互联网 发布:原生js实现下拉刷新 编辑:程序博客网 时间:2024/06/04 17:41

做软件有些年头,一直有个问题困扰着我——怎样做到软件可持续开发,可扩展。

最近一段时间一直没什么事情做,闲来自己写了个小的web程序,基于.net2.0,下面谈谈我的一些心得:

第一步,自然是分析抽取需求

第二步,顺利从需求分析阶段进入OOA阶段,运用Rational Rose 画了几个User Case。

第三步,逐步开始进入OOD阶段,User Case 的几个实现,Seuqence diagram一理,基本上整个程序的框架出来了,很快需要的一些个核心概念也随之诞生。

第四步,很自然进入Class diagram设计阶段。因为需求基本较为简单——数据的添删改,没有太多的逻辑。

第五步,在我脑海里其实已经形成了一个基本框架4层结构:表现层,Facade层, 业务逻辑层,数据库访问层。外加一个实体层。因为表现层的控制逻辑较多,我又不想再表现层做太多的逻辑控制,因此我运用了中介者模式在representation 和Facade层之间,呵呵,看试把问题复杂化了,但是这样让我的代码变得很优美。而facade只与bussiness logic做交互,不包含任何逻辑,业务层作了一些必要的逻辑运算之后,就直接和数据库访问层交互了。考虑到以后要支持多数据库,数据库访问层使用了接口模式和一个工厂模式。呵呵,层次结构已经很清楚了。所以顺水推舟这个项目很快就完成了

原创粉丝点击