面向对象设计模式学习总结

面向对象设计模式是软件工程领域的重要内容,在此对我的学习情况进行一个总结。

首先是设计模式的七大原则:

01 开闭原则(OCP)
02 里氏替换原则(LSP)
03 依赖倒置原则(DIP)
04 单一职责原则(SRP)
05 接口隔离原则(ISP)
06 最少知识原则(LKP)——迪米特法则
07 合成复用原则(CRP)

然后是经典的23种设计模式,分为三大类:

创建型模式(5种):对象的创建与使用分离

01 单例模式(Singleton)
02 原型模式(Prototype)
03 工厂方法模式(FactoryMethod)
04 抽象工厂模式(AbstractFactory)
05 建造者模式(Builder)

结构型模式(7种):将类或对象按某种布局组成更大的结构

06 代理模式(Proxy)
07 适配器模式(Adapter)
08 桥接模式(Bridge)
09 装饰模式(Decorator)
10 外观模式(Facade)
11 享元模式(Flyweight)
12 组合模式(Composite)

行为型模式(11种):多个类或对象之间相互协作共同完成复杂任务

13 模板方法模式(TemplateMethod)
14 策略模式(Strategy)
15 命令模式(Command)
16 责任链模式(ChainOfResponsibility)
17 状态模式(State)
18 观察者模式(Observer)
19 中介者模式(Mediator)
20 迭代器模式(Iterator)
21 访问者模式(Visitor)
22 备忘录模式(Memento)
23 解释器模式(Interpreter)

设计模式可以用各种面向对象的语言来实现,我用Java进行了简单的实现,代码放在我的Github上了,有需要的朋友可以参考。

软件工程是是理论与实践相结合的,设计模式也一样,在学习完这些思想和理论之后,还需要进行实际的操作。

我想可以通过做关于设计模式的面试题来加强对设计模式的理解并提高熟练度,这样比重复描述一遍每一个设计模式的概念,效果应该要好一些。

在对某项知识有了基本的认识之后,以“解决实际问题”为目标,有针对性的对某些知识点深入的研究,这种“问题驱动”,是比较高效的学习方法,

我会在今后设计模式的学习中,尝试使用这种学习方法,希望能够达到我预期的效果吧。

 

你可能感兴趣的:(面向对象设计模式学习总结)