面向对象模式精讲
Spring 常见设计模式剖析
http://t.kaikeba.com/MDEf
Spring 全家桶精讲
http://t.kaikeba.com/MDE7
Java 透过单例模式聊开发编程
http://t.kaikeba.com/M4oG
OOP与OOAD
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程
三者连在一起就是面向对象分析、设计、编程(实现),正好对应软件开发三个阶段。
三(四)大特性:封装、继承、多态、抽象。
七大设计原则
可维护性、可复用性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JMEJ3rDx-1626938382459)(https://i.loli.net/2021/07/22/IwGYpe4foyg1Fcd.png)]
-
单一职责原则
一个类只负责一个功能领域中的相应职责
实现【类】要单一,如何定义一个类,如何实现类的封装
-
开闭原则
软件实体应对扩展开放,而对修改关闭
总纲,必须遵守
-
里氏代换原则
所有引用基类对象的地方能够透明地使用其子类的对象
不要破坏继承体系,子类不要轻易修改父类方法
-
依赖倒转原则
抽象不应该依赖于细节,细节应该依赖于抽象
告诉我们要面向接口编程
-
接口隔离原则
使用多个专门的接口,而不使用单一的总接口
设计接口,精简单一
-
合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的
优先使用组合或者聚合关系复用少用继承关系复用
-
迪米特法则
一个软件实体应当尽可能少地与其他实体发生相互作用
降低耦合度
设计模式类型
-
创建型(5种):
工厂模式、抽象工厂模式、单例模式【重点】、原型模式、构建者模式 -
结构型(7种):
适配器模式、装饰模式、代理模式【重点】、外观模式、桥接模式、组合模式、享元模式 -
行为型(11种):
模板方法模式、策略模式、责任链模式、观察者模式、中介者模式、状态模式、命令模式、迭代器模式、访问者模式、解释器模式、备忘录模式
简单工厂模式
spring用的就是
你给我一个名称,我能生产任何对象
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIZXKeDz-1626938382469)(https://i.loli.net/2021/07/22/E83TodlfAYKDuRZ.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlpKFHOK-1626938382471)(https://i.loli.net/2021/07/22/hPskqwvtJZ7YbNB.png)]
spring是通过配置文件和反射来解决简单工厂的缺点
工厂方法模式
简单工厂是一个工厂生产所有产品
而工厂方法是生产同一类的产品就创建一批类型的工厂
为什么我们使用工厂而不直接new对象。
生活中我们用手机肯定不是自己造,专人专项。只管用就行了,细节和实现都让别人做。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LtV47Ypu-1626938382475)(https://i.loli.net/2021/07/22/sQt8APRXgvxa5Zf.png)]
对于某些可形成产品族(一组产品)的情况处理比较复杂。
构建者模式
和工厂最大的区别是,定制化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-334sQ3GZ-1626938382480)(https://i.loli.net/2021/07/22/Ib7a5q2miu9Es4X.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mvKSMAJG-1626938382481)(https://i.loli.net/2021/07/22/f9cWXatCrV6ZL81.png)]
本文深入讲解了面向对象编程(OOP)与面向对象分析设计(OOAD)的基本概念,强调了封装、继承、多态和抽象四大特性。详细阐述了七大设计原则,如单一职责原则、开闭原则等,并探讨了如何运用这些原则提高代码的可维护性和可复用性。接着,介绍了创建型设计模式中的简单工厂、工厂方法和构建者模式,对比了它们之间的区别和应用场景。最后,通过实例展示了Spring中如何运用设计模式,特别是简单工厂模式的应用。

431

被折叠的 条评论
为什么被折叠?



