摘要:简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。中的就是简单工厂模式的体现,根据传入一个唯一的标识来获得对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。
Spring中常用的设计模式 常用的设计模式(23种)如下
创建型:
工厂方法模式Factory Method,抽象工厂模式Abstract Factory 建造者模式Builder,原型模式Prototype,单例模式Singleton
结构型:
适配器模式Adapter,桥接模式Bridge,组合模式Composite 装饰者模式Decorator,门面模式Facade,亨元模式Flyweight, 代理模式Proxy
行为型:
解释器模式Interpreter,模板方法模式Template Method, 责任链模式Chain of Responsibility,命令模式Commond 迭代器模式Iterator,调解者模式Mediator,备忘录模式Memento, 观察者模式Observer,状态模式State,策略模式Strategy, 访问者模式Visitor
设计模式在应用中遵循六大原则
开闭原则
定义:对扩展开放,对修改关闭。为了使程序的扩展性好,易于维护和升级。
想要达到这样效果,我们需要使用接口和抽象类。
李氏代换原则
定义:里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。
LSP 是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的 功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基 础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开- 闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的 具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。
依赖倒闭原则
定义:是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于
具体。
接口隔离原则
定义;使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦
合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思 想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出 现:降低依赖,降低耦合。
迪米特法则
定义:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能
模块相对独立。
合成复用原则
定义:是尽量使用合成/聚合的方式,而不是使用继承。
简单工厂模式
应用场景:又叫做静态工厂方法(StaticFactory Method)模式,但不属于
23 种设计模式之一。简单工厂模式的实质是由一个工厂类根据传 入的参数,动态决定应该创建哪一个产品类。 Spring 中的 BeanFactory 就是简单工厂模式的体现,根据传入 一个唯一的标识来获得 Bean 对象,但是否是在传入参数后创建还 是传入参数前创建这个要根据具体情况来定。
归类 特点 穷举
创建型模式 是复杂工厂模式的思维模型 批量生产,标准化
工厂方法模式
应用场景:通常由应用程序直接使用 new 创建新的对象,为了将对象的创建
和使用相分离,采用工厂模式,即应用程序将对象的创建及初始化 职责交给工厂对象。 一般情况下,应用程序有自己的工厂对象来创建 Bean.如果将应用 程序自己的工厂对象交给 Spring 管理,那么 Spring 管理的就不 是普通的 Bean,而是工厂 Bean。
归类 特点 穷举
创建型模式 对于调用者来说,隐藏了复杂的逻辑处理过程, 流水线生产
调用者只关心执行结果。 对于工厂来说要对结果负责,保证生产出符合 规范的产品。
抽象工厂模式
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76628.html
摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...
摘要:提升自己,方便他人。其实一份文档,说到底是为自己减轻工作量。总结总结起来,我们在提供一个通用包的时候,应该考虑以下七个点文档。支持的类反射获取参数名面向接口编程。一个注解,快速整合 声明:本文属原创文章,首发于公号程序员自学之道,转载请注明出处 遇到槽点 开发实践中,对于开发一个 jar 包,很多人都只是完成功能,只要功能使用没问题,就算是完事了,但其实远远不够。当用户使用 jar 包...
摘要:时间年月日星期日说明本文部分内容均来自慕课网。这对所有形态的工厂模式都是重要的这个系统的产品有至少一个的产品族同属于一个产品族的产品是设计成在一起使用的。 时间:2017年08月27日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:https://github.com/zccodere/s...学习源码:https://github.c...
摘要:会一直完善下去,欢迎建议和指导,同时也欢迎中用到了那些设计模式中用到了那些设计模式这两个问题,在面试中比较常见。工厂设计模式使用工厂模式可以通过或创建对象。 我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经 41k+ Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star: https://github.com/Snailclimb... JDK 中用到了那...
摘要:学习总结学习整理的一些笔记,很简单。大部分认为和只是不同的叫法而已。依赖注入的两种方式和注解使用注释驱动的功能源码剖析 Spring IoC学习总结 学习spring Ioc整理的一些笔记,很简单。分享给大家。 IoC 基本概念 在这之前,我们先记住一句话。好莱坞原则:Dont call us, we will call you.其实这句话很恰当地形容了反转的意味;Ioc, Inve...
阅读 2952·2021-11-23 09:51
阅读 1668·2021-10-15 09:39
阅读 1058·2021-08-03 14:03
阅读 2885·2019-08-30 15:53
阅读 3440·2019-08-30 15:52
阅读 2489·2019-08-29 16:17
阅读 2791·2019-08-29 16:12
阅读 1647·2019-08-29 15:26