上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 中介者模式是一种对象行为型模式,其主要优点如下。 降低了对象之间的耦合性,使得对象易于独立地被复用。 将对象 阅读全文
posted @ 2019-08-14 21:55 Asp1rant 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 观察者模式是一种对象行为型模式,其主要优点如下。 降低了目标与观察者之间的耦合关系,两 阅读全文
posted @ 2019-08-12 20:35 Asp1rant 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 状态模式对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式是一种对象行为型模式,其主要优点如下。 状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。 减少对象间的相互依赖。将不同的状 阅读全文
posted @ 2019-08-10 19:49 Asp1rant 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 需求:Python编程中,常常需要将object进行xml文件的输出,当需要实现object包含列表和数组的情况下时,下面提供方法: 1.通过dict将object输出为xml: 用内置方法__dict__可以将对象转换为字典,对于对象中包含对象的情况,可以使用递归实现同样转换为字典 2.转换为di 阅读全文
posted @ 2019-08-06 20:52 Asp1rant 阅读(2588) 评论(0) 推荐(0) 编辑
摘要: 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来 阅读全文
posted @ 2019-08-04 20:25 Asp1rant 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 责任链模式实现为请求创建了一个接收者对象的链。当请求的直接执行者无法实现请求时,会将请求传递给链的上一级进行处理。这种传递往往可以通过让接收者包含另一个接收者的引用的方式实现。 责任链模式是一种对象行为型模式,其主要优点如下。 降低了对象之间的耦合度。该模式使得一个对象无须知道到底是哪一个对象处理其 阅读全文
posted @ 2019-07-31 21:27 Asp1rant 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 命令模式将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 实际上,命令模式就是实现请求和执行者之间的解耦。图中Invoker实现接受和管理各种命令,然后统一向Receiver发起请求,所有类型的请 阅读全文
posted @ 2019-07-29 21:47 Asp1rant 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 组合模式,将对象组合成属性结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。其UML图如下: 主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。如何解决:树 阅读全文
posted @ 2019-07-14 22:33 Asp1rant 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 享元模式指通过共享的技术来支持大量细粒度对象的复用,它通过共享已经存在的又橡来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。例如围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它 阅读全文
posted @ 2019-07-12 23:40 Asp1rant 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 外观模式: 为子系统中的一组接口定义一个一致的界面,外观模式提供了一个高层接口,这个接口使得这一子系统更加容易被使用;对于复杂的系统,系统为客户提供一个简单的接口,把复杂的实现过程封装起来,客户不需要了解系统内部的细节。 主要解决:客户不需要了解系统内部复杂的细节,只需要一个接口;系统入口。 如何解 阅读全文
posted @ 2019-07-09 20:26 Asp1rant 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 当设计的class具有多个维度的属性,用单继承的方式进行设计会造成设计出的子类很多,分类困难。 桥接模式将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 桥接模式的的特点: 1.扩展能力强,实现和继承分离。 2.其实现细节对客户透明 阅读全文
posted @ 2019-06-27 12:24 Asp1rant 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 参考:http://c.biancheng.net/view/1354.html 建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变 阅读全文
posted @ 2019-05-14 20:43 Asp1rant 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.cnblogs.com/carsonzhu/p/5774616.html 尽管和工厂模式相类似是创建型设计模式的一种,原型模式本身与工程设计模式本身并没有什么关系,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。 原型模式的应用场景 阅读全文
posted @ 2019-05-07 20:51 Asp1rant 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 转载自:https://www.cnblogs.com/jaspersong/p/9277720.html 本文全部来自转载 1、svn checkout path path 是服务器上的目录。 svn checkout path 例如:svn checkout svn://192.168.1.1/ 阅读全文
posted @ 2019-05-06 17:38 Asp1rant 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式的作用在于动态地为某一个类添加额外的功能,通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合。 适用场景: 1.需要扩展一个类的功能,或给一个类添加附加职责。 2.需要动态的给一个对象添加功能,这些功能可以再动态的撤销。 3.需要增加由一些基本功能的排列组合而产 阅读全文
posted @ 2019-05-05 20:34 Asp1rant 阅读(207) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页