![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
小_杭
就是一个普普通通的程序员。
博客为个人工作中用到技术的学习与总结。
同时也有一些奇奇怪怪的学习内容。 罒ω罒
[]~( ̄▽ ̄)~* 哈哈哈。。
展开
-
小杭的学习设计模式笔记
小杭的学习设计模式笔记原创 2016-04-25 14:00:04 · 351 阅读 · 0 评论 -
设计模式笔记:迭代器模式
迭代器模式我的理解:这东东,java中最常用的遍历了。习惯到不知道怎么解释了;就是给容器遍历使用的模式,弄出一个迭代器的抽象来遍历容器,Iterator里面有定好一些遍历需要的方法就行了;2016年4月22定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:原创 2016-04-29 10:53:22 · 496 阅读 · 0 评论 -
设计模式笔记:备忘录模式
备忘录模式我的理解:模式的功能就是备份和恢复,两个功能都在【发起人】类中。然后有备份类和管理备份的类;备份类【memento】:有需要备份的状态值【使用map容器解决多属性备份】管理类【caretaker】:保存有备份类的容器。【使用容器解决多版本备份】使用的话就是,把状态创建,保存在管理类中,为之后恢复的时候调用。2016年4月20原创 2016-04-29 10:51:43 · 550 阅读 · 0 评论 -
设计模式笔记:状态模式
状态模式我的理解:此模式,把类的行为放在状态中【state】,所以当状态改变的时候,类的行为也发生了变化。Context,为操作类的实例,里面有保存当前的状态。State,这个里面有特定的方法,会被context调用,同时此特定行为里面会有改变context状态的语句context.State=newConcreteStateA();2016原创 2016-04-29 10:27:09 · 533 阅读 · 0 评论 -
设计模式笔记:策略模式
策略模式我的理解:和模板方法模式非常的相似,只是封装类Context被提出来了【组合方法的东东】,也是一种算法使用的封装方法。。。2016年4月定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实原创 2016-04-29 10:17:59 · 428 阅读 · 0 评论 -
设计模式笔记:模板方法模式
模板方法模式我的理解:这个模式,就是用继承的方式啊,在抽象类中定义好算法的固定步骤【模板方法】和需要的具体步骤实现的方法【基础方法】。之后在子类中实现基础方法即可。因为模板方法已经确定了固定的流程。2016年4月 定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义原创 2016-04-28 15:34:51 · 610 阅读 · 0 评论 -
设计模式笔记:命令模式
命令模式我的理解:就是吧一系列的操作,封装到一个方法里面【command】,给客户调用【invoker】,然后方法里面又调用真正执行的方法(具体内容)【Receiver】。感觉就是把一个个功能进行封装,调用【命令】 | 组合【方法】(组合执行) | 执行【具体执行】 分开的意思。2016年4月定义:将一个请求封装成一个对象,从原创 2016-04-28 15:31:48 · 572 阅读 · 0 评论 -
设计模式笔记:观察者模式
观察者模式我的理解:这个模式,觉得主要就是一个主体通知客体(由被观察者遍历内部观察者容器调用其【观察者】更新方法),实现变动更新。2016年4月17定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:结构角色:原创 2016-04-28 15:23:50 · 480 阅读 · 0 评论 -
设计模式笔记:外观模式
外观模式我的理解:外观模式为子系统整合出一个统计的对外接口,提供可和使用。【不增加新的行为】与中介模式 有一定类似,不过外观模式 只能单方向的调用使用;与适配器模式 相比,外观模式只是提供统一接口,不进行接口转换。2016年4月16日概述:外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑原创 2016-04-28 15:18:55 · 1924 阅读 · 0 评论 -
设计模式笔记:组合模式
组合模式我的理解:这个组合模式特别的容易理解,就是树结构啊。^_^将树的节点(叶子和节点)抽象出来,并分别实现叶子和节点。节点中有保存节点的容器及对其的操作,还有对容器的递归方法的实现。【类本身保存有自身接口的容器,以此递归】2016年4月 定义:组合模式又叫做部分-整体模式,它使我们树型结构的问题中原创 2016-04-26 10:35:59 · 470 阅读 · 0 评论 -
设计模式笔记:桥接模式
桥接模式我的理解:这个模式的类图看不懂,不过觉得就像是装饰模式,不过相比之下桥接模式,不只是装饰类抽象出来,连原始类(基类)也抽象出来了,这样就可以在多个维度自由的扩展了。(其基类下面还可以继续等级结构拓展下去)2016年4月14日定义:将抽象部分与实现部分分离,使它们都可以独立的变化。类型:结构型模式类图:原创 2016-04-26 10:32:44 · 478 阅读 · 0 评论 -
设计模式笔记:适配器模式
适配器模式我的理解:就是原有的类(Adaptee),现在需要实现一个接口(Target)【他们的方法名称数量都有不同】。于是在不改动Adaptee情况下就要使用适配器模式了。这个适配器类,就是对外展示的是接口Target定义的方法,对内【实现】就随便了(直接调用原类方法,增加,重用方法都行)。其中对象适配模式,与中介,装饰模式有些类似,不过适配器在于接口转接。原创 2016-04-26 10:19:27 · 506 阅读 · 0 评论 -
设计模式笔记:装饰模式
装饰模式我的理解:这个装饰模式,丫丫就跟代理模式基本没什么区别【百度到的资料都TM写辣么复杂弄个球球 (ノಠ益ಠ)ノ彡┻━┻】,都是用一个类(内部有真类的引用)来代替另一个使用,然后在调用内部引用对象方法之前之后进行操作。不同的话,应该就是代理模式,主要的是对引用对象进行访问控制,而装饰则是对其进行功能增加。最后给我的感觉就是个装逼模式。。。。。(设计模式看着有点烦原创 2016-04-26 10:16:47 · 698 阅读 · 0 评论 -
设计模式笔记:代理模式
代理模式我的理解:此模式,以一个代理对象来代替真实对象进行使用(代理对象拥有【但不仅仅】所有真实对象对外接口,内部拥有真实对象引用),从而可以在代理中实现对真实对象的访问控制(在调用真实对象方法之前之后进行各种控制)(但是不对真实对象进行修改,同时一般来说,对应方法都会调用真实对象的方法)实现的话,以创建真实类与代理类为重点,真实类实现核心方法,代理类实现控制代码并调用真实原创 2016-04-26 10:08:42 · 539 阅读 · 0 评论 -
设计模式笔记:单例模式
单例模式我的理解:这个模式没什么理解的东东,就是一个类,只能有一个实例。没了╮(╯_╰)╭其他的东东都只是实现的方式而已了:什么懒汉,饿汉,枚举,内部静态,检验锁 之类的。2016年4月7日,星期四定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:原创 2016-04-25 15:04:01 · 440 阅读 · 0 评论 -
设计模式笔记:原型模式
原型模式我的理解:原型模式,作为创建类的一种模式,理解起来挺容易的,就是创建类的时候不用new,而是copy已有的东东,就酱紫。使用的话,实现Cloneable接口,重写clone()方法就可以了.要注意的就是深拷贝和浅拷贝的问题: 浅拷贝中的对象拷贝只是拷贝引用,意味着拷贝出来的这个是引用同一个对象的;(↓下面有代码示例↓) 关于深原创 2016-04-25 14:47:21 · 542 阅读 · 0 评论 -
设计模式笔记:中介者模式
中介者模式我的理解: 在多对多关系下的交互处理,在随着交互者的增加,复杂程度急剧增加,这时候如果还是使用一般模式,将无法维护,所以这时候就需要使用中介者模式。其中,交互者(同事类)除了本身的属性方法外,必须有一个访问中介者的接口,进行与中介者进行交互,而。中介者有着对所有交互者进行修改的方法(当然中介者中保存着所有的交互者对象,可以使用容器进行的); 这样,原创 2016-04-25 14:32:48 · 2525 阅读 · 0 评论 -
设计模式笔记:工厂模式,建造者模式
工厂模式:我的理解:工厂类(可抽象出来,弄好几个工厂实例)内部创建产品(必须抽象,有好多不同实现),把创建好的产品输出。这样使用的时候就只要调用工厂(不同工厂的产品不同)的生产产品方法就可以返回一个产品。应用场景: 在一个公用的方法内要新建不同的产品进行操作时可以使用。//这里如果新增加产品的种类,只需要实现工厂和产品类,不影响整个公共原创 2016-04-25 14:12:49 · 645 阅读 · 0 评论 -
设计模式笔记:访问者模式
访问者模式我的理解:元素类【element】访问本身的方法,使用一个访问类【visitor】对元素类【自己类】的方法进行调用。(丫丫的自己的方法要用别的类在外面调用里面的方法,简直不懂有什么用)元素类:必须提供accept(visitor)方法【使用访问类调用本身方法】,和其他需要执行的方法。访问类:必须每一个元素类对应的处理方法;有用的地方在于,在元素类固原创 2016-04-29 10:55:16 · 567 阅读 · 0 评论