创建型:抽象工厂模式

创建型:抽象工厂模式

引入 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。 抽象工厂模式与工厂方法模式最大的区别在...

结构型:桥接模式

结构型:桥接模式

概述 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案是根据实际需要对形状和颜色进行组合 对于有两个变化...

行为型:责任链模式

行为型:责任链模式

概述 一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。 定...

架构模式:MVP模式

架构模式:MVP模式

概述 MVP模式(Model-View-Presenter)是一种用于构建用户界面的架构模式,它是MVC模式的一种变体。 MVP模式将应用程序划分为三个部分:Model(模型)、View(视图)和Presenter(表示器)。 Model(模型) 模型是应用程序的数据和业务逻辑的...

行为型:命令模式

行为型:命令模式

概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 命令模式可以...

行为型:迭代器模式

行为型:迭代器模式

概述 对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了。 面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任,迭代...

行为型:中介者模式

行为型:中介者模式

概述 当用户对象之间存在很强的关联性时,会有以下问题: 系统结构负责 对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。 对象的可重用性差 由于一个对象和其他对象具有很强的关联,若没有其他对象的支持,一个对象很难被另一个...

结构型:组合模式

结构型:组合模式

概述 一个组织有很多子组织,而无论子组织是单独一个部门或是一个分组织。该组织都希望把它们当成一样的子组织来管理。 比如公司总部有多个部分,该公司还有一些分公司,当总部有通知需要下达时,将分公司视为部门一样,一起通知。而分公司拿到通知之后,再下达该通知到自己下属的各个部门。 定义 ...

设计模式:六大原则

设计模式:六大原则

总原则:开闭原则 对扩展开放,对修改关闭 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。 实现“开-闭”原则的关键步骤是抽象化。 一 单一原则 不要存在多于一个导致类变更的原因 每个类应该实现单一的职责,如若不然,就应该把类拆分 二 里...

架构模式:MVVM模式

架构模式:MVVM模式

概述 MVVM 模式(Model-View-ViewModel)是一种软件架构模式,它是从 MVC(Model-View-Controller)模式演变而来的,旨在解决 MVC 模式中视图(View)和模型(Model)之间的紧密耦合问题。 MVVM 模式将应用程序分为三个主要组...

扫一扫二维码分享