设计模式 - 总结与思考

前言

《Design Patterns: Elements of Reusable Object-Oriented Software》设计模式,是四个作者Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides "四人组(Gang of Four)"的著作,我们一般讲到的Gof 设计模式就是说的这本书所描述的23种设计模式

到这篇总结,已经完成了23种设计模式的系统的学习

在这次设计模式的学习中,我没有学习到高深的知识,更多的是学习到了一种思想:让代码更优雅的思想


UML

设计模式面向对象设计思想,在Java知识体系中是Java基础知识和J2EE框架知识之间一座隐性的"桥"

J2EE是企业级开发的工业标准,既然是工业、工程,即必须有统一的描述语言

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言

在企业级开发中,写文档、描述产品,一定会使用到UML
设计模式(1)UML详解


设计模式原则

Gof23种设计模式,但是,它们都是根据七大原则,在不同方面的扩展

设计模式(2)六大原则(七大原则)

这七大原则是:

  • 开闭原则:软件应该面向扩展开放,面向修改关闭
  • 里氏替换原则:子类可以扩展父类的功能,但不能改变父类的功能
  • 依赖倒置原则:细节应当依赖抽象,即面向接口编程,接口、抽象类定义类规范,具体由子类实现
  • 单一职责原则:一个类应当有且只承担一个职责,控制类的粒度大小
  • 接口隔离原则:一个接口(抽象类)应当只包含客户需要的方法,类与类的依赖应该建立在最小的接口上
  • 迪米特法则:实体类间如果不需直接通信,就不应该发生直接的相互调用,而是通过第三方转发调用
  • 合成复用原则:软件复用时,应该先考虑聚合、组合复用,再考虑继承关系

七大原则有些抽象,但是在后续的23中设计模式中,或多或少的使用了这些原则,结合实际思考,会有更深的体会


创建型模式

创建型模式关注的是“怎样去创建对象”,主要特点是将对象的创建与使用分离

创建型模式有5种(简单工厂方法不在其中):

创建型模式5个加上一个简单工厂模式,总体比较简单,主要关注的是对象的创建


结构型模式

结构型模式描述的是如何将对象 根据某种布局 组成 更大或者适用环境的结构

结构型模式有7种:


行为型模式

行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用,在不同的对象之间划分责任和算法的抽象化

行为型模式有11种:

行为型模式有11种,挺复杂,需要在运用中认真的琢磨


总结思考

关于设计模式的案例:https://gitee.com/zfkhhh/JavaDesignPatterns

创建型模式有5种,结构型模式有7种,行为型模式有11种,基本囊括的在开发过程中会碰到的场景

设计模式并没有教给我什么高深的知识,而是教给我底层的、编写代码的技巧

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性

真正的学会设计模式,是去思考设计模式的好处,为什么要在代码中使用设计模式?

使用设计模式,应当不拘泥与23种设计模式,而是在针对不同的场景使用7种原理去思考

Gof23种设计模式是Java面向对象的基本的模式,还有很多其他的模式,如MVC模式等,后续就在使用中学习吧

学海无涯苦作舟,勉励持续学习的你我

看到这里,点个赞呗(^_−)☆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值