
设计模式
文章平均质量分 65
AllenC6
来战
展开
-
责任链模式——设计模式
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。原创 2022-10-23 23:06:34 · 143 阅读 · 0 评论 -
观察者模式——设计模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。使用面向对象技术,可以将这种依赖关系弱化。原创 2022-09-12 16:44:08 · 172 阅读 · 0 评论 -
建造者模式——设计模式
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;原创 2022-09-01 18:38:52 · 126 阅读 · 0 评论 -
外观模式(门面模式)——设计模式
隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。降低访问复杂系统的内部子系统时的复杂度,简化客户端之间的接口。...原创 2022-08-25 17:54:16 · 243 阅读 · 0 评论 -
模版方法模式——设计模式
一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。原创 2022-08-24 16:33:12 · 524 阅读 · 0 评论 -
工厂方法模式——设计模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化,延迟到其子类工厂方法模式是对简单工厂模式进一步的解耦,在工厂方法模式中是一类产品对应一个工厂类,而这些工厂类都继承于一个抽象工厂。这相当于是把原本会随着业务扩展而庞大的简单工厂类,拆分成一个的具体产品工厂类,这样代码就不会都耦合在同一个类中。.........原创 2022-08-16 15:15:20 · 715 阅读 · 0 评论 -
代理模式——设计模式
代理模式在软件开发中经常用到,它是指为对象提供一种的代理,以控制对这个对象的直接访问。代理模式主要有两个目的:一是保护目标对象,二是增强目标对象。原创 2022-08-11 15:04:13 · 323 阅读 · 0 评论 -
装饰器模式——设计模式
装饰器模式(Decorator Pattern) 也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。装饰器模式的核心是功能扩展,使用装饰器模式可以透明且动态地扩展类的功能。动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。...原创 2022-08-10 17:40:19 · 699 阅读 · 0 评论 -
策略模式——设计模式
策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以采用打折、送商品、送积分等方法。...原创 2022-08-05 18:55:53 · 308 阅读 · 0 评论 -
简单工厂模式——设计模式
现实生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)。我们的项目代码同样是由简到繁一步一步迭代而来的,但对于调用者来说,却越来越简单。在日常开发中,凡是需要生成复杂对象的地方,都可以尝试考虑使用工厂模式来代替。工厂模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。按实际业务场景划分,工厂模式有 3 种不同原创 2022-06-29 17:24:00 · 190 阅读 · 0 评论 -
设计模式学习与实践
一、什么才是优秀的代码架构1.代码复用2.拓展性二、如何正确的使用设计模式1.需求驱动2.分析成功的模式应用项目3.充分了解所使用的开发平台4.在编程中领悟5.避免过度设计三、七大软件设计原则1.开闭原则对扩展开放,对修改关闭,降低维护带来的新风险(1).开闭原则的作用开闭原则是面向对象程序设计的终极目标,它使软件实体拥有一定的适应性和灵活性的同时具备稳定性和延续性。具体来说,其作用如下:1).对软件测试的影响软件遵守开闭原则的话,软件测试时只需要原创 2022-04-26 19:27:11 · 312 阅读 · 0 评论