软件体系结构——设计模式

以下资料全部来自老师PPT以及前辈资料整理,仅供学业参考。
详细内容参考百度云盘:
链接:https://pan.baidu.com/s/1C8Qp1B5yAsXd7xgbMh-vAA?pwd=1111
提取码:1111
面向对象设计原则:
1、单一职责原则(Single Responsibility Principle, SRP)
定义:
  一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。
Every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class.
2、开闭原则(Open-Closed Principle, OCP)
定义:
  一个软件实体应当对扩展开放,对修改关闭。
Software entities should be open for extension, but closed for modification.
3、里氏代换原则(Liskov Substitution Principle, LSP)
定义:
  所有引用基类(父类)的地方必须能透明地使用其子类的对象。
Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.
4、依赖倒转原则(Dependence Inversion Principle, DIP)
定义:
  要针对接口编程,不要针对实现编程。高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
Program to an interface, not an implementation.
5、接口隔离原则(Interface Segregation Principle, ISP)
定义:
  客户端不应该依赖那些它不需要的接口。(用多个专门的接口,而不使用单一的总接口)
Clients should not be forced to depend upon interfaces that they do not use.
6、合成复用原则(Composite Reuse Principle, CRP)
定义:
  尽量使用对象组合,而不是继承来达到复用的目的。
Favor composition of objects over inheritance as a reuse mechanism.
7、迪米特法则(Law of Demeter, LoD)
定义:
  一个软件实体应当尽可能少的与其他实体发生相互作用

创建型模式:
简单工厂模式(类创建型模式):违背单一原则模式,违背开闭原则。扩展困难

工厂方法模式(类创建型模式):符合开闭原则。
抽象工厂模式(对象创建型模式):符合开闭原则,也不符合。

原型模式(对象创建型模式):违背开闭原则。扩展性好

单例模式(对象创建型模式):违背单一职责原则。扩展困难

结构型模式:
适配器模式(对象结构型模式 / 类结构型模式):灵活性和扩展性非常好,有一定的复用性。

桥接模式(对象结构型模式):好的可扩展性,符合开闭原则,联合适配器:

组合模式(对象结构型模式):忽略了层次的差异,扩展方便,

外观模式(对象结构型模式):迪米特法则的具体表现,违背开闭原则(除非抽象外观)。

代理模式(对象结构型模式):无话可说,自己品味。

行为型模式:
职责链模式(对象行为型模式):灵活性,可扩展;可能死循环

命令模式(对象行为型模式):符合开闭原则,撤销(Undo)和恢复(Redo);

策略模式(对象行为型模式):对开闭原则的完美支持,可以替换继承关系,算法复用。无法同时在客户端使用多个策略类,产生太多类且需自行决定。

模板方法模式(类行为型模式):符合单一职责原则和开闭原则。类的个数增加,系统会更加庞大,设计也更加抽象。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值