为什么要架构,我来说说原因
当你希望把复杂问题清晰化时,而不是简单化,这时需要架构
当你希望把代码的重复利用率提高时,需要架构
当你希望对团队整个进行把控时,需要架构
以上只是我简单的总结,下面说说架构之“走火入魔”篇
我很喜欢看武侠电影,喜欢邵氏,邵氏经典,必属佳片说的一点不错,在我看大部分武侠剧时,很多情节都是大反派练某种神功,走火入魔的情景,他们为何会走火入魔呢?在我看来是他们对自己当前的情况及当前武功的程次判断不够清楚,所以会走火入魔。
那么当我们在架构设计中走火入魔了,应该如何去魔爪中走出来呢,在我看来,有以下几点
1 对自己项目要有清晰的认识,选择适合本项目的架构方式
2 对项目成员要了解,如果整个基础不是很扎实,应该用比较容易的架构方式
3 对项目的变化度有一个把控,如果项目经理要变,那需要在适当的时候,适应的模块中引入设计模式及IOC等技术
以下图中有我用的两个项目方案:
第一种,少代码,少耦合,适用于变化度小的场合,对于变化高的模块,也可以采用局部的IOC,本项目IOC都采用Unity
在业务层使用了通用数据层引用和个性化的数据层引用
第二种是变化度大,它会提供整个层的IOC注入,通过配置文件动态反射出来类对象
数据层,首先定义接口,然后可以根据不同的数据库进行不同的实现,本实现是SQL数据库的实现
WEBUI层将页面与页面的Controller建立在不同的项目中,使结构上更清晰,业务上,可以实现一个controller对应多套VIEW模版
呵呵,人在江湖,身不由已,做项目也是一样,不是我喜欢采用某种架构,而是因为它适合于这个项目,或者它适合于这个团队!