软件工程设计之23种设计模式
纪伯伦的小弟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
尽我所能尽你期待的23种设计模式之访问者模式
访问者模式基本介绍访问者模式,封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义这些元素的新的操作。主要讲数据结构与数据操作分离,解决数据结构和操作耦合性问题。访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者的接口。访问者模式的主要场景是:需要对一个对象结构中的对象进行很多不同操作(这些操作彼此没有关联),同时需要避免让这些操作“污染”...原创 2020-04-30 21:40:30 · 223 阅读 · 0 评论 -
详尽的知识,虚无的头发。23种设计模式之命令模式
命令模式基本介绍在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接受者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接受者即可,此时,可以使用命令模式来进行设计命令模式使得请求发送者与请求接受者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。在命令模式中,会将一个请求封装为一个对象,以便使用不同参数来表示不同的请求(即命令),同时命令...原创 2020-04-29 20:00:01 · 220 阅读 · 0 评论 -
你所向往的Java深处之23种设计模式之模板方法模式
模板方法模式基本介绍模板方法模式,又叫模板模式,在一个抽象类公开了执行它的方法的模板。他的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。简单说,模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤。这些类型的设计模式属于行为型模式。原理类图角色分析:Abstract...原创 2020-04-28 17:42:06 · 212 阅读 · 0 评论 -
你必须要了解的23种设计模式之享元模式
享元模式基本介绍享元模式也叫蝇量模式:运用共享技术有效地支持大量细粒度的对象。常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个。享元模式能够解决重复对象的内存浪费的问题,当系统中有大量相似的对象,需要缓冲池时。不需总是创建对象,可以从缓冲池里拿。这样可以降低系统内存...原创 2020-04-25 18:34:03 · 221 阅读 · 0 评论 -
(你也可以像别人一样对框架底层源码来去自如)23种设计模式之外观模式
外观模式基本介绍外观模式,也叫过程模式:外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节。原理类图角色分析:外观类(Facade):为调用端提供统一的调用接口,外观类知道哪些子系统...原创 2020-04-24 20:08:54 · 222 阅读 · 0 评论 -
23种设计模式之组合模式
组合模式基本介绍组合模式,又叫部分整体模式,他创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式。组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象。在现实生活中,存在很多“部分和整体”的关系,例如,大学中的部...原创 2020-04-23 09:03:33 · 372 阅读 · 0 评论 -
23种设计模式之装饰者模式---用卖丹药的苦恼来举例
装饰者模式在地球的修真者所生活结界世界中,早已经引入世俗界的商业模式,尤其是电脑这种高科技已经被各大宗门的丹药阁所使用。最近天门宗的丹药阁阁主犯了难,他炼出了一些丹药以及丹云,丹云可以装饰丹药,可以提升丹药的吸收率,但阁主不知道怎么把丹药输入电脑中进行很好的搭配来卖出。因为一个丹药可以搭配多种丹云,如果有n种丹药,n种丹云,光是1丹药搭配1丹云都有nn种,更别1种丹药可以搭配多种丹云,这样的...原创 2020-04-22 18:49:51 · 286 阅读 · 0 评论 -
23种设计模式之原型模式
原型模式克隆PrototypeCloneable接口clone()方法(Object类里面的)示例:Video类:/*1.实现一个接口2.重写一个方法 *///Video类public class Video implements Cloneable{ private String name; private Date createTime; ...原创 2020-04-20 21:03:06 · 184 阅读 · 0 评论 -
23种设计模式之建造者模式
建造者模式建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。(同样的造房步骤,我可以建造出平房,我也可以建造出摩天大厦)主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建...原创 2020-04-20 20:27:52 · 304 阅读 · 0 评论 -
23种设计模式之适配器模式
适配器模式:USB网线转换器网线://要被适配的类:网线public class Adaptee { public void request(){ System.out.println("连接网线上网"); }}`电脑://客户端类:想上网,插不上网线public class Computer { //我们的电脑需要连接上转接器才可以...原创 2020-04-18 18:47:24 · 308 阅读 · 0 评论 -
23种设计模式之代理模式
代理模式为什么要学习代理模式?这是SpringAOP的底层代理模式的分类:静态代理动态代理静态代理:角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作客户:访问代理对象的人。示例:一般情况:租房接口://租房public interface Rent {...原创 2020-04-18 17:51:07 · 500 阅读 · 0 评论 -
23种设计模式之抽象工厂模式
抽象工厂模式定义抽象工程模式提供了一个创建一系列或者相互依赖对象的接口,无需指定它们具体的类。适用场景客户端(应用层)不依赖于产品类实例如何被创建、实现细节。强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码。提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现。优点:具体产品在应用层的代码隔离,无需关心创...原创 2020-04-18 17:49:22 · 271 阅读 · 0 评论 -
23种设计模式之工厂模式
工厂模式作用实现了创建者和调用者的分离。详细分类: 简单工厂模式 工厂方法模式 抽象工厂模式满足OOP七大原则之三种原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭。依赖倒转原则:要针对接口编程,不要针对实现编程。迪米特法则:只与你直接的朋友通信,而避免和陌生人通信。核心本质:实例化对象不使用new,用工厂方法代替...原创 2020-04-18 17:47:34 · 300 阅读 · 0 评论 -
终于把单例模式讲详细了吧
单例模式饿汉式:/** * 饿汉式单例(提前把对象创建) * 可能会浪费空间,提前把对象创建好了,但是不一定会用。 */public class Hungry { private Hungry(){ } private final static Hungry HUNGRY=new Hungry(); public static Hungry g...原创 2020-04-18 17:46:15 · 1724 阅读 · 9 评论 -
23种设计模式之桥接模式
桥接模式:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地的变化。它是一种对象结构型模式,又称为柄体模式或接口模式。违背了单一职责原则。分析:这个场景中有两个变化的维度:品牌,类型只要是两个维度变化的场景,我就可以把两边都写成抽象类,例 类型、品牌都可以写成抽象类。然后需要桥(结合点)把两个维度连接起来。//品牌public interface Brand ...原创 2020-04-18 17:42:49 · 346 阅读 · 0 评论 -
23种设计模式(未完待续4)
文章目录观察者模式:中介者模式:观察者模式:这是气象站主动调用得到最新数据,然后提供给第三方。也可在weatherData这个核心类中维护第三方的对象,例:一旦核心类中的天气数据发生变化,则利用第三方(CurrentCondition)的对象调用第三方的update,display方法更新。实现推送。普通方案代码:第三方类(气象站自己的网站):核心类:测试:引入:...原创 2020-03-24 23:32:00 · 180 阅读 · 0 评论 -
23种设计模式(未完待续3)
文章目录解释器模式:访问者模式:策略模式:模板方法模式:状态模式:解释器模式:访问者模式:策略模式:抽象的策略接口:算法族:普通客户小批量购买策略:普通客户大批量购买策略:老客户小批量购买策略:老客户大批量购买策略:管理算法策略的Context类:测试:模板方法模式:抽象的银行模板:取款类(重写取款方法):顾客类(测试):可以在顾客...原创 2020-03-23 21:54:08 · 213 阅读 · 0 评论 -
23种设计模式(未完待续2)
文章目录组合模式:使用组合模式,模拟杀毒软件架构设计:外观模式:享元模式:实现围棋架构设计:行为型模式:责任链模式:实现请假流程:命令模式(在项目实践中不常用):组合模式:非常适合处理树形结构。抽象组件:叶子组件:容器组件:使用组合模式,模拟杀毒软件架构设计:抽象组件:叶子组件(图像文件):叶子组件(文本文件):叶子组件(视频文件):容器组件(文件夹):...原创 2020-03-22 23:30:29 · 197 阅读 · 0 评论 -
23种设计模式(未完待续1)
文章目录23种设计模式:面向对象软件设计SOLID原则:创建型模式:单例模式:饿汉式模板:懒汉式模板:DCL懒汉式模板:改进的懒汉式模板:破解以上:枚举模板:工厂模式:无工厂的时候(顾客自己买的时候也需要自己造):简单工厂模式:建工厂(工厂负责生产车):顾客通过工厂来买车,不需要关心车的生产:工厂方法模式:工厂的接口:特斯拉的工厂:五菱的工厂:顾客找相应的车的车厂买:抽象工厂模式:建手机接口:建路...原创 2020-03-21 20:01:21 · 299 阅读 · 0 评论
分享