
设计模式
文章平均质量分 96
夏天的欧文
这个作者很懒,什么都没留下…
展开
-
类之间的关系
类之间的关系1. 种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。 2. 其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。3. Gen...转载 2018-10-09 22:12:57 · 172 阅读 · 0 评论 -
设计模式之适配器设计模式
转载请标明出处: http://blog.youkuaiyun.com/zxt0601/article/details/52848004本文出自:【张旭童的博客】一 概述定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。属于结构型模式...转载 2018-10-14 21:34:27 · 149 阅读 · 0 评论 -
设计模式之观察者模式
1.观察者模式模式简介定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式结构图 在观察者模式中有如下角色:Subject:抽象主题(抽象被观察者),抽象主题角色把所有观...转载 2018-09-28 18:19:27 · 171 阅读 · 0 评论 -
创建型者设计模式之工厂设计模式
文章来自于https://blog.youkuaiyun.com/hguisu/article/details/7505909?utm_source=copy ,我只在部分上做了自己的理解,原文作者的例子用的是php,而我用的是java设计模式一 工厂模式Factory 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些...转载 2018-09-22 19:04:15 · 154 阅读 · 0 评论 -
代理设计模式之静态代理和动态代理
代理设计模式:所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。显示中的生活例子也有很多,例:当你访问有些国外网站时,始终显示该页面无法访问,原因是该网站限制了一些地区的IP地址,必须通过代理才能访问,此时代理服务器出现了(也就是帮助你翻墙的- -),代理服务器在国外一般不会受到国外网站的访问限制。 1、代理( Proxy) 代理分为静态代...翻译 2018-09-21 22:30:04 · 168 阅读 · 0 评论 -
设计模式之装饰设计模式
之前在web开发时,在做一个全局编码的过滤器时,用到了装饰设计模式,当时理解不是很深刻。特重新学习。。。装饰者模式具有的一些特征1,装饰者(decorator)和被装饰(扩展)的对象有着相同的超类(supertype)。2,我们可以用多个装饰者去装饰一个对象。3,我们可以用装饰过的对象替换代码中的原对象,而不会出问题(因为他们有相同的超类)。4,装饰者可以在委托(delegat...原创 2018-10-04 20:57:23 · 146 阅读 · 0 评论 -
单例设计模式
转载请注明出处:http://blog.youkuaiyun.com/dmk877/article/details/50311791 相信大家都知道设计模式,听的最多的也应该是单例设计模式,这种模式也是在开发中用的最多的设计模式,可能有很多人会写几种设计模式,那么你是否知道什么是设计模式?为什么会有单例设计模式即它的作用是什么?单例模式有哪些写法?对于这样的问题,可能有部分童鞋并不能很好的回答,...转载 2018-09-26 19:28:29 · 129 阅读 · 0 评论 -
设计模式之桥接设计模式
生活中的一个例子: 就拿电脑来说。即有华硕电脑又有神州电脑,但你也会发现,对于电脑也有不同的类型,比如,台式机,笔记本等等。在软件系统中就要适应两个方面的变化?怎样实现才能应对这种变化呢?概述:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?...原创 2018-10-03 15:54:54 · 159 阅读 · 0 评论 -
设计模式之状态设计模式
1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或switch case)语句的增多或者修改)可能会引起很大的修改,而程序的可读性,扩展性也会变得很弱。维...转载 2018-10-10 18:33:46 · 145 阅读 · 0 评论