接触软件体系架构设计(二)
步入工作,截止2005年,大部分采用面向过程或面向对象快速解决些问题,局部采用面向对象设计实现软件功能。
在2005年到2008年期间,采用三层架构完成外包项目。
现在回顾下三层架构/多层架构:
从垂直角度来看,划分如下:
A、表示层,又称表现层UI,位于三层构架的最上层,与用户直接接触的界面。在B/S信息系统中, Web浏览页面作为表示层,承载实现用户界面功能,将用户的请求上传到服务器,确保用户的优质体验。
B、业务逻辑层BLL,实现了软件的主要业务逻辑,对表示层提供展示数据支撑依据,对数据访问层提供数据效验和持久化操作。
C、数据访问层DAL,常规是针对数据库进行操控,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层BLL。不仅限于数据库。
分层技术,目的是“高内聚低耦合”,其下每层:
表示层目的:展示和体验
业务逻辑层目的:业务处理
数据访问层目的:存储
多层架构是基于三层架构的衍生,更加细分了层次关系。一般根据需要,将业务逻辑层BLL和数据访问层DAL进行再次分解,达到解耦以及提高后期的可维护性。
实施规则:
1、各级层次开发明确工作内容,不要跨层设计。特别是表示层
2、设计的出发点,从业务逻辑层开始,要明确业务的输入输出
特别注意:
在表示层中是否包含前置判断逻辑,这个是体验优化的范畴,或者说:在产品效果设计时,对其定义。这类定义可能和业务逻辑的前置限定有部分重复或完全重复,不能因为业务逻辑层完成,就不需要实现。
这一点,在设计中必要的明确。
分层优劣:
优点:层次分明,减低依赖,结构清晰,易于维护、扩展、复用。
缺点:开发工作量大,从单条性能效率低下。容易出现级联修改。
随聊:
在SX外包团队,人员紧张,基本上一个人多个项目穿插或一个人抗一个项目,由经理把控进度,相互合作开发,以文档或QQ方式协定,相互帮助完成
外包团队的效率在于团队以及每人的能力体现。项目主程,在分层架构,无论三层还是多层,在细分的过程中,宏观上把控层级的划分,同时也需要注意细节的控制。
外包的失败,有诸多原因,最大的原因,还是人。
思考越多,做得越快。
无论生活、还是技术,一切都不断的学习和更新~~~努力~