软件开发中的解耦
2011-03-11 09:15
162 查看
项目进入关键期了,最近一个礼拜不断加班写代码,回顾一年以来经历过的项目,突然发现其实我们一直在追求的就是解耦,目的就是使自己的软件系统能够以更低的代价接受变化,比如增加新业务时,希望不用修改代码或者少修改。
代码级别的解耦是最常见的,把OOA/OOD做的更好一些,每个类的职责明确,接口功能尽量细分,多使用经典的设计模式,这样的代码也比较容易看懂。
软件一般都分层设计,比如1:数据层,2:数据加工转发层,3:业务逻辑层,4:展现层,层与层之间也需要尽量解耦。按照MVC的思想,2、3属于C。直觉中,一个系统最少只需要数据层和展现层就够了,2、3的作用就是控制流程,同时将数据提供者和使用者解耦,将来需要添加新的数据提供者和使用者时,只要符合2、3的接口要求,就可以做到插拔式的添加。这可以理解为模块级别的解耦。
业务级别的解耦需要产品设计和开发人员共同完成,
代码级别的解耦是最常见的,把OOA/OOD做的更好一些,每个类的职责明确,接口功能尽量细分,多使用经典的设计模式,这样的代码也比较容易看懂。
软件一般都分层设计,比如1:数据层,2:数据加工转发层,3:业务逻辑层,4:展现层,层与层之间也需要尽量解耦。按照MVC的思想,2、3属于C。直觉中,一个系统最少只需要数据层和展现层就够了,2、3的作用就是控制流程,同时将数据提供者和使用者解耦,将来需要添加新的数据提供者和使用者时,只要符合2、3的接口要求,就可以做到插拔式的添加。这可以理解为模块级别的解耦。
业务级别的解耦需要产品设计和开发人员共同完成,
相关文章推荐
- 软件开发过程(CMMI/RUP/XP/MSF)是与非?
- windows phone开发第一步:搭建软件开发环境
- 首酷12306订票助手开发完成,基于 .NET FRAMEWORK 4.5 开发,软件完全免费使用。
- IBM Rational软件开发高峰论坛归来
- 汽车电子软件开发相关标准
- 开始软件开发生涯时你需要知道的几件事
- 《Clean Code》--软件开发的《断舍离》
- 软件开发入门学习的个人看法
- Skyline软件二次开发初级——6如何在WEB页面中的三维地图上进行坐标和方向计算
- 在软件开发中应用80:20原则
- JEPF软件快速开发平台【免费发布】
- 软件开发过程(简洁)
- 诚聘iPhone/iPad软件开发经理 (上海)
- 需要大量设计的软件如何进行敏捷开发
- 总结基本的软件开发模式
- 软件project--谈项目开发
- 软件项目开发流程RUP上
- 软件开发管理十大工作任务
- 敏捷开发中“可运行软件”的评审标准(兼谈敏捷开发中的迭代中期质量控制)
- 软件开发人员的“七重苦”