如何实践设计原则-面向对象设计原则
2016-06-16 20:02
281 查看
http://blog.csdn.net/horkychen/article/details/50486268
大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在<<面向对象分析与设计>>中提出了四个基础原则:
抽象 核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。
封装 核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。
模块化 核心思想是分而治之,各个模块应当高内聚、低耦合。
层次结构 核心是对抽象的分级和排序,可以简化对系统的理解。
这些概念看起都比较容易理解,但实际运用并不简单。所以<<Refactoring for Software Design Smells: Managing Technical Debt>>(哪位手上有这个资源,可以分享一下。)的作者们使用所谓的使能技术(enabling techniques),为每个原则提出实践的建议:
详细内容,请查看原文: How to apply design principles in practices.
大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在<<面向对象分析与设计>>中提出了四个基础原则:
抽象 核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。
封装 核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。
模块化 核心思想是分而治之,各个模块应当高内聚、低耦合。
层次结构 核心是对抽象的分级和排序,可以简化对系统的理解。
这些概念看起都比较容易理解,但实际运用并不简单。所以<<Refactoring for Software Design Smells: Managing Technical Debt>>(哪位手上有这个资源,可以分享一下。)的作者们使用所谓的使能技术(enabling techniques),为每个原则提出实践的建议:
详细内容,请查看原文: How to apply design principles in practices.
相关文章推荐
- UE4 Unreal 界面 主题 Slate 更改
- yolo模型的批量测试和位置输出
- 杭电OJ 2136 Largest prime factor
- 网络编程知识总结
- Android开发中混淆代码总结
- MySQL(基础篇)之存储过程
- python和编码
- How do I add new state and change the workflow of Purchase Order?
- transitionend animationend 事件兼容问题
- 4、解决 ubuntu 下命令行不能使用方向键与退格键的问题
- JavaScript 语法简单描述
- MyBatis-spring和spring JDBC批量插入Mysql的效率比较
- SQL语句基础知识
- 饮食——食物
- NoSQL之Redis---PUB/SUB(订阅与发布)---基本命令
- activity堆栈式管理
- 机器学习基石作业4第5题
- C++调试排查技巧
- 用map实现邮箱地址分离
- 在数据库中设置默认值修改hibernate映射文件