吴志勇的博客 吴志勇的博客
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

吴志勇

......
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端
  • HTML5&CSS3
  • scss&less
  • JavaScript
  • ES6教程
  • nodejs
  • vue
  • 后端
  • Swing专题
  • java基础
  • 数据库
  • netty
  • 设计模式
  • 框架
  • 微服务及架构
  • 云原生
  • 工具
  • 个人纪录
设计模式
设计模式
目录
1. simple_factory
2. factory_method
3. abstract_factory
4. singleton
5. builder
6. prototype
7. adapter
8. decorator
9. facade
10. bridge
11. proxy
12. composite
13. flyweight
14. observer
15. command
16. state
17. chain_of_responsibility
18. template_method
19. strategy
20. interpreter
21. mediator
22. visitor
23. memento
24. iterator

配套代码:https://gitee.com/kagurawill/design_patterns.git

​

src------------------------------------------------示例代码
| +---design_patterns--------------------------------设计模式示例代码
| | +---java--------------------------------------------java示例代码
| | | +---abstract_factory-------------------------------抽象工厂模式
| | | +---adapter----------------------------------------适配器模式
| | | +---bridge-----------------------------------------抽桥接模式
| | | +---builder----------------------------------------建造者模式
| | | +---chain_of_responsibility------------------------职责链模式
| | | +---command----------------------------------------命令模式
| | | +---composite--------------------------------------组合模式
| | | +---decorator--------------------------------------装饰模式
| | | +---facade-----------------------------------------外观模式
| | | +---factory_method---------------------------------工厂方法模式
| | | +---flyweight--------------------------------------享元模式
| | | +---interpreter------------------------------------解释器模式
| | | +---iterator---------------------------------------迭代器模式
| | | +---mediator---------------------------------------中介者模式
| | | +---memento----------------------------------------备忘录模式
| | | +---observer---------------------------------------观察者模式
| | | +---prototype--------------------------------------原型模式
| | | +---proxy------------------------------------------代理模式
| | | +---simple_factory---------------------------------简单工厂模式
| | | +---singleton--------------------------------------单例模式
| | | +---state------------------------------------------状态模式
| | | +---strategy---------------------------------------策略模式
| | | +---template_method--------------------------------模板方法模式
| | | +---visitor----------------------------------------访问者模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

设计模式可以分为三大类:

  • 创建型模式(5 个):与对象的创建有关。
    • 工厂方法模式
    • 抽象工厂模式
    • 单例模式
    • 建造者模式
    • 原型模式
  • 结构型模式(7 个):与对象的组装有关。
    • 适配器模式
    • 装饰模式
    • 外观模式
    • 桥接模式
    • 代理模式
    • 组合模式
    • 享元模式
  • 行为模式(11 个):与对象之间的沟通协调有关。
    • 观察者模式
    • 命令模式
    • 状态模式
    • 职责链模式
    • 模板方法模式
    • 策略模式
    • 解释器模式
    • 中介者模式
    • 访问者模式
    • 备忘录模式
    • 迭代器模式

面向对象设计包含以下几个原则(SOLID):

  • 单一职责原则(Single Responsibility Principle,SRP):修改一个类的原因只有一个,也即这个类只有一个职责。
  • 开闭原则(Open-Closed Principle,OCP):对于扩展类应该开放,对于修改类应该封闭。
  • 迪米特法则(Law of Demeter,LoD):也叫最少知识原则,类应尽量降低成员的访问权限,即耦合尽可能弱。
  • 依赖倒置原则(Dependency Inversion Principle,DIP):高层次的类不应依赖低层次的类,都应依赖于抽象接口。
  • 里氏替换原则(Liskov Substituion Principle,LSP):扩展一个类时,能够(不修改代码)将子类的对象作为父类对象进行传递。和依赖倒置原则意思接近。
上次更新: 2025-01-14 05:41:47

← netty 框架→

Copyright © 2020-2025 wuzhiyong
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式