随笔分类 -  设计模式

摘要:一、七大原则 在实际开发过程中,并不是一定要求所有代码都遵循设计原则,而是要综合考虑人力、时间、成本、质量,不刻意追求完美,要在适当的场景遵循设计原则。这体现的是一种平衡取舍,可以帮助我们设计出更加优雅的代码结构。各种原则要求的侧重点不同,下面我们分别用一句话归纳总结软件设计模式的七大原则,如下表所 阅读全文
posted @ 2021-08-22 22:56 童话述说我的结局 阅读(107) 评论(0) 推荐(0) 编辑
摘要:一、定义 访问者模式(Visitor Pattern) 是一种将数据结构与数据操作分离的设计模式。是指封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元索的新的操作。属于行为型模式。 访问者模式被称为最复杂的设计模式,并且使用频率不高,设计模式的作者也评价为: 阅读全文
posted @ 2021-08-22 17:02 童话述说我的结局 阅读(169) 评论(0) 推荐(0) 编辑
摘要:一、定义 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式的主要角色如下: 抽象主题(Subject)角色:也叫抽象目标类,它 阅读全文
posted @ 2021-08-22 16:00 童话述说我的结局 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、定义 解释器模式(Interpreter Pattern) 是指给定一门语言, 定义它的语法的一种表示, 并定义一个解释器,该解释器使用该表示来解释语言中的句子。是一种按照规定的语法进行解析的模式,属于行为型模式。就比如编译器可以将源码编译解释为机器码, 让CPU能进行识别并运行。解释器模式的作 阅读全文
posted @ 2021-08-22 14:17 童话述说我的结局 阅读(539) 评论(0) 推荐(0) 编辑
摘要:一、定义 中介者模式(Mediator Pattern) 又称为调解者模式或调停者模式。用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。属于行为型模式。中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。 阅读全文
posted @ 2021-08-22 09:26 童话述说我的结局 阅读(394) 评论(0) 推荐(0) 编辑
摘要:一、定义 备忘录模式(Memento Pattern) 又称为快照模式(Snapshot Pattern) 或令牌模式(Token Pattern) , 是指在不破坏封装的前提下, 捕获一个对象的内部状态, 并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态,属于行为型模式。在软件系 阅读全文
posted @ 2021-08-21 19:22 童话述说我的结局 阅读(221) 评论(0) 推荐(0) 编辑
摘要:一、定义 状态模式( State Pattern)也称为状态机模式( State Machine pattern),是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类,属于行为型模式。允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类状态模式中类的行为是由状态决 阅读全文
posted @ 2021-08-21 18:04 童话述说我的结局 阅读(612) 评论(0) 推荐(0) 编辑
摘要:一、定义 命令模式(Command Pattern) 是对命令的封装, 每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式解耦了请求方和接收方,请求方只需请求执行命令,不用关心命令是怎样被接收,怎样被操作以及是否被执行…等.命令模式属于行为型模式。 阅读全文
posted @ 2021-08-16 19:11 童话述说我的结局 阅读(219) 评论(0) 推荐(0) 编辑
摘要:一、定义 迭代器(Iterator Pattern)模式的定义:又称为游标模式(Cursor Pattern),它提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式可以为不同容器提供一致的遍历行为,而不用关心容器内容元素组成 结构,迭代器模式是一种对象行为型模式 ; 阅读全文
posted @ 2021-06-21 22:47 童话述说我的结局 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、定义 责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会 阅读全文
posted @ 2021-06-21 20:40 童话述说我的结局 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、定义 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。吹了一大段概念,用一句白 阅读全文
posted @ 2021-05-12 09:21 童话述说我的结局 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一、定义 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器 阅读全文
posted @ 2021-05-09 22:09 童话述说我的结局 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一、定义 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。模板方法模式实际上是封装一个固定流程,该流程由几个步骤组成,具体步骤可以由子类进行不同实现,从 阅读全文
posted @ 2021-05-09 19:37 童话述说我的结局 阅读(204) 评论(0) 推荐(0) 编辑
摘要:一、定义 委派模式又叫委托模式,是一种面向对象的设计模式,允许对象组合实现与继承相同的代码重用。它的基本作用就是负责任务的调用和分配任务,是一种特殊的静态代理,可以理解为全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式属于行为型模式,不属于GOF23种设计模式中。 委派模式有3个参与角色 阅读全文
posted @ 2021-05-01 09:24 童话述说我的结局 阅读(660) 评论(0) 推荐(0) 编辑
摘要:一、定义 组合模式(Composite Pattern)也称为 整体-部分(Part-Whole)模式,它的宗旨是通过将单个对象(叶子节点)和组合对象(树枝节点)用相同的接口进行表示,使得客户对单个对象和组合对象的使用具有一致性。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 组合模式 阅读全文
posted @ 2021-04-21 16:29 童话述说我的结局 阅读(138) 评论(0) 推荐(0) 编辑
摘要:一、定义 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式正是为解决这一类问题而诞生的。享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性 阅读全文
posted @ 2021-04-15 15:20 童话述说我的结局 阅读(171) 评论(0) 推荐(0) 编辑
摘要:一、定义 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式主要目的是通过组合的方式建立两个类之前的联系,而不是继承。但又类似于多重继承方案 阅读全文
posted @ 2021-04-07 11:30 童话述说我的结局 阅读(144) 评论(0) 推荐(0) 编辑
摘要:一、定义 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将 阅读全文
posted @ 2021-04-06 16:29 童话述说我的结局 阅读(167) 评论(0) 推荐(0) 编辑
摘要:一、定义 建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的 Test 结合起来 阅读全文
posted @ 2021-04-04 11:02 童话述说我的结局 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、定义 代理模式(ProxyPattern)是指为其他对象提供一种代理,以控制对这个对象的访问,属于结构型模式。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 二、代理模式的应用场景 在生产环境中其实代码应用的非常广,例如有一组对象都 阅读全文
posted @ 2021-04-03 09:13 童话述说我的结局 阅读(102) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示