面向对象模式精讲

本文深入讲解了面向对象编程(OOP)与面向对象分析设计(OOAD)的基本概念,强调了封装、继承、多态和抽象四大特性。详细阐述了七大设计原则,如单一职责原则、开闭原则等,并探讨了如何运用这些原则提高代码的可维护性和可复用性。接着,介绍了创建型设计模式中的简单工厂、工厂方法和构建者模式,对比了它们之间的区别和应用场景。最后,通过实例展示了Spring中如何运用设计模式,特别是简单工厂模式的应用。

面向对象模式精讲

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)]

  1. 单一职责原则

    一个类只负责一个功能领域中的相应职责

    实现【类】要单一,如何定义一个类,如何实现类的封装

  2. 开闭原则

    软件实体应对扩展开放,而对修改关闭

    总纲,必须遵守

  3. 里氏代换原则

    所有引用基类对象的地方能够透明地使用其子类的对象

    不要破坏继承体系,子类不要轻易修改父类方法

  4. 依赖倒转原则

    抽象不应该依赖于细节,细节应该依赖于抽象

    告诉我们要面向接口编程

  5. 接口隔离原则

    使用多个专门的接口,而不使用单一的总接口

    设计接口,精简单一

  6. 合成复用原则

    尽量使用对象组合,而不是继承来达到复用的目的

    优先使用组合或者聚合关系复用少用继承关系复用

  7. 迪米特法则

    一个软件实体应当尽可能少地与其他实体发生相互作用

    降低耦合度


设计模式类型

  1. 创建型(5种):

    工厂模式、抽象工厂模式、单例模式【重点】、原型模式、构建者模式

  2. 结构型(7种):

    适配器模式、装饰模式、代理模式【重点】、外观模式、桥接模式、组合模式、享元模式

  3. 行为型(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)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值