目录
面向对象7大设计原则概述(原理&丰富实例)
1)单一职责原则
2)开闭原则
3)里氏代换原则
4)依赖倒转原则
5)接口隔离原则
6)合成复用原则
7)迪米特法则(LoD)
*本部分小结
软件的可维护性和可复用性较低的4大基本体现
一个好的系统设计应该具有怎样的性质
软件的可维护性和可复用性
UML图之类图
随着软件规模扩大、需求不断变化,写出具有可扩展性、可复用性、可维护性、可靠性、安全性、可伸缩性的优雅程序是要解决的问题。需运用良好工具、定义良好过程、仔细建模(软件体系结构)才能设计出优雅程序。软件体系结构是软件整体结构与组件的抽象高层描述,用于指导大型软件设计;无大型软件开发经验者需掌握软件编程的最佳实践(设计模式)。将高层体系结构与低层设计模式结合,讲解软件系统开发是本课程的核心任务。
面向对象7大设计原则概述(原理&丰富实例)
1)单一职责原则
高内聚:类里面功能尽量往凝练、单一的方向走
低耦合:模块之间避免太多交叉,防止灵活性变差
B/S一般用于服务端 | getConnection连接数据库 | findUser查询数据库
2)开闭原则
开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立类
比如Unity中的地图实例化,将一些类抽象化成一个类,赋予单代表值,根据代表值的不同,调用对应的功能
3)里氏代换原则
MD5码+盐值,密码不容易被破译
4)依赖倒转原则
直接以代码避开XML文件去实现
在web项目的开源框架中用的较多
5)接口隔离原则
6)合成复用原则
继承存在着更强的依赖性
通过组合/聚合思想,实现代码的复用
首选合成复用原则,继承复用靠后
7)迪米特法则(LoD)
降低程序中类之间的耦合性
*本部分小结
同时满足是不可能的,只能优化博弈,做一个最优的选择
软件的可维护性和可复用性较低的4大基本体现
过于僵硬 (Rigidity)
过于脆弱 (Fragility)
复用率低 (Immobility)
黏度过高 (Viscosity)
一个好的系统设计应该具有怎样的性质
可扩展性 (方便添加新功能,或修改当前功能)
灵活性 (可依据客户不同的要求进行配置)
可插拔性 (增加或减少功能,不影响其他功能的应用)
软件的可维护性和可复用性
软件的复用(Reuse)或重用拥有众多优点,如可以提高软件的开发效率,提高软件质量,节约开发成本,恰当的复用还可以改善系统的可维护性。
面向对象设计复用的目标在于实现支持可维护性的复用。
在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。
面向对象设计原则和设计模式也是对系统进行合理重构的指南针,重构(Refactoring)是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。