设计模式
来源:互联网 发布:美妆凯文老师的淘宝店 编辑:程序博客网 时间:2024/06/05 13:23
1.什么是设计模式?
模式:在某些场景下,针对某类问题的某种通用解决方案
场景:项目环境
问题:约束条件,项目目标等
解决方案:通用、可以复用的设计,解决约束,达到目标
2.设计模式的分类
创建型模式:对象实例化的模式,创建型模式解耦了对象的实例化过程
结构型模式:把类或对象结合在一起形成更大的结构
行为型模式:类和对象如何交互,及划分责任和算法
3.对象设计的6大原则
- 组合复用原则
多用组合,少用继承
找到变化部分,抽象,封装变化
区分“Has-A”与“Is-A” - 依赖倒置原则
依赖:成员变量、方法参数、返回值
要依赖于抽象,不要依赖于具体
高层模块不应该依赖低层模块,二者都应该依赖其抽象
抽象不应该依赖具体,具体应该依赖抽象
针对接口编程,不要针对实现编程 - 开闭原则
对扩展开放,对修改关闭
通过扩展已有软件系统,可以提供新的功能
修改的关闭,保证稳定性和延续性 - 迪米特法则
一个对象应该与其他对象保持最少的了解。只与直接朋友交谈。
成员变量、方法参数、方法返回值中需要的类为直接朋友
类与类之间的关系越密切了解越多,耦合度越大
尽量降低类与类之间的耦合
外观模式、中介者模式 - 里氏替换原则
所有引用基类的地方必须能透明地使用其子类对象
子类在扩展父类功能时不能破坏父类原有的功能
使用继承时,遵循里氏替换原则:
子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
当子类重载父类方法时,方法的形参要比父类方法的参数更宽松
当子类实现父类的抽象方法时,方法的返回值要比父类更严格 - 单一职责原则
类应该只有一个导致类变更的理由
即一个类只负责一项职责
0 0
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式~~~~~~~~~~
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- c++类中的六种默认函数
- get post的区别
- [hihoCoder 1187] Divisors (微软预科生计划-探星夏令营在线测试)
- 浅析 Java 内部类
- SQL的COUNT调优
- 设计模式
- JAVA多线程实现的三种方式
- linux下如何安装tomcat
- ACM--欧拉函数--mdd的烦恼
- Vulkan Device and Queue --2
- 我的Android网络框架之旅(三)
- 约瑟夫问题(循环单链表求解)
- HTTP Status 404错误
- C++预处理命令