
设计模式
yxlalm
这个作者很懒,什么都没留下…
展开
-
java设计模式-策略模式(行为型模式)
策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。 策略模式的主要优点如下。 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句。 策略模式提供了一系列的可供重用的算法族,...原创 2019-01-28 16:10:38 · 405 阅读 · 0 评论 -
java设计模式-适配器模式(结构型模式)
情景引入:适配器是什么,你一定不难理解,因为现实生活中到处都是。比方说:用计算机访问照相机的 SD 内存卡时需要一个读卡器。小米6智能手机没有耳机孔需要一个耳机转换头type-C转3.5mm耳机孔等等。其实OO适配器和真实世界的适配器扮演着同样的角色:将一个接口转换为另一个接口,以符合客户的期望。 Head Frist设计模式这里举了一个很好的例子。已有的系统,你希望它能和一个新的厂商类库搭配使...原创 2019-03-07 23:57:21 · 212 阅读 · 0 评论 -
设计模式七种原则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。它们分别为开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则。 这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中,开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;...翻译 2019-02-26 11:31:09 · 171 阅读 · 0 评论 -
java设计模式-建造者模式(创建型模式)
建造者组成与结构 建造者(Builder)模式(生成器模式)由产品、抽象建造者、具体建造者、指挥者等 4 个要素构成。 建造者(Builder)模式的主要角色如下。 产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个滅部件。 抽象建造者(Builder):它是一个包含创建产品各个子部件的抽象方法的接口,通常还包含一个返回复杂产品的方法 getResult(...原创 2019-03-02 22:36:38 · 185 阅读 · 0 评论 -
java设计模式-桥接模式(结构型模式)
情景引入:现实生活中某些事物可以有很多的描述,如图形既可按形状分,又可按颜色分。当然,这样的例子还有很多,如不同颜色和字体的文字、不同品牌和功率的汽车、不同性别和职业的男女、支持不同平台和不同文件格式的媒体播放器等。如果用继承方式,m 种形状和 n 种颜色的图形就有 m×n 种,不但对应的子类很多,而且扩展困难,用桥接模式就能很好地解决这些问题。 桥接模式的定义 桥接(Bridge)模式:将抽...原创 2019-03-08 23:21:47 · 148 阅读 · 0 评论 -
java设计模式-代理模式(结构型模式)
代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。代理模式的特点就是控制对象的访问。 代理模式的结构: 抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。 真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的...原创 2019-03-03 23:34:36 · 354 阅读 · 0 评论