
设计模式
Recar
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大话设计模式-----(二)装饰模式、代理模式
我所理解的装饰模式 就是说像穿衣服或者说是炒菜加调料又或者是煎饼果子加蛋和火腿肠的问题先定义一个接口或者抽象类A,看她有没有初始的属性,有则用抽象类 。然后定义一个抽象类B继承或实现。 A中有最基本的方法调用。 B主要是初始化,即构造方法中传入A。然后在后面的方法中用B中传入的A来调用方法。 然后定义一系列CDEF子类继承B。这些CDEF就是生菜,鸡蛋,火腿肠。 A是最基本的煎饼果子原创 2017-03-18 18:58:07 · 553 阅读 · 0 评论 -
大话设计模式-----(十)职责链模式、中介者模式
职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。就像我找版主申请请假,但是请假时间过长那么就要找导员请假才行。如果更长那么就要找院领导才能请假。一直传递这个请求。一直到他的权限能够处理这件事定义一个抽象处理请求的抽象类//抽象一个处理请求的接口abstract class Handler{原创 2017-04-03 14:34:10 · 725 阅读 · 0 评论 -
大话设计模式-----(九)桥接模式、命令模式
桥接模式将抽象部分与他的实现部分分离,使他们都可以独立地变化实现指的是抽象类和他的派生类用来实现自己的对象就像不同牌子的手机,会有不同的功能,要是抽象手机,然后逐个添加功能,很多功能大家都有,但也有一些特殊的。把功能也抽象出来。 尽量使用合成/聚合,尽量不要使用类继承。将手机软件传入手机类。因为针对抽象接口编程。直接调用抽象定义的方法。//手机软件抽象类abstract class HandSe原创 2017-04-03 10:46:34 · 1240 阅读 · 0 评论 -
大话设计模式-----(八)迭代器模式、单例模式
迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而不是暴露该对象的内部表示就是 for 啊~~迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器来负责,这样既可以做到不暴露集合内部,又可以让外部代码透明地访问集合内部的数据。这位老哥讲的很好 学习 http://blog.youkuaiyun.com/zhengzhb/article/details/7610745保证一个类仅有一个实例,并提供一原创 2017-03-31 19:30:00 · 429 阅读 · 0 评论 -
大话设计模式-----(五)观察者模式、抽象工厂模式
对观察者、抽象工厂模式、反射的简单理解原创 2017-03-23 16:13:00 · 539 阅读 · 0 评论 -
大话设计模式-----(七)备忘录模式、组合模式
备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就以后额可将该对象恢复到原先保存的状态。书上的例子就是游戏进度保存,打不过boss后进行回档,那么数据要恢复过来。简单的写的话,会将存储的数据和如何存储保存恢复等暴露给了客户端。那么在游戏角色类中添加一个游戏进度存储和恢复的类。恢复传入一个存储类。传入的这个存储类和游戏角色差不多。主要有要保存的属性。恢复的话方原创 2017-03-28 13:39:18 · 450 阅读 · 0 评论 -
大话设计模式-----(六)状态模式、适配器模式
状态模式状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类抽象出来一个State状态类,然后定义几个继承抽象State的子类,就是不同状态。 这个抽象的State中有一个方法输出现在这个抓个图的情况 然后定义一个当前状态的类不原创 2017-03-27 18:52:02 · 497 阅读 · 0 评论 -
大话设计模式-----(四)迪米特法则、外观模式、建造者模式
迪米特法则就是说如果两个类不必彼此直接通信。那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三方转发这个调用强调了类之间的松耦合,类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对与欧关系的类造成波及。外观模式例子就是说买股票,如果我们自己投资的话,需要学习的知识很多,也很容易配。就是我们自己直接去创建实现子类。 但是我们可以利用买基原创 2017-03-21 11:42:00 · 1584 阅读 · 0 评论 -
大话设计模式-----(一)简单工厂模式 策略模式 二者比较
写一个计算器把,之前写法都是放在一起。界面显示和逻辑代码放在一起很不好, 不灵活,耦合度高,要解耦。那么就分开代码两个类。 这样写就算如此还是有问题。没有扩展性。如果要增加运算符那就要更改逻辑代码 很麻烦。 可以把所有可能变化的东西比较提取出他们都有的东西,作为一个类,让其每个运算符 进行继承,每个在重写其父类。就是进行不同的操作运算。 返原创 2017-03-16 12:16:29 · 409 阅读 · 0 评论 -
大话设计模式-----(三)工厂方法模式、原型模式、模板方法模式
工厂方法模式简单工厂模式是恩,按那个计算器来写的话,就是把运算符都具有的特性抽象出来作为父类。然后想添加运算类型,只需要对应的增加继承其运算符抽象类,然后添加自己的运算方法即可。但是要在工厂类中修改switch 增加判断。 对应的工厂方法模式就是把工厂类这个类也抽象出来。对每个运算符子类都创建一个对应的工厂来创建。所有小工厂继承工厂抽象类。 这样增加运算的话只需在继承实现运算符,在继承实现对应的原创 2017-03-19 16:38:04 · 2348 阅读 · 2 评论 -
大话设计模式-----(十一)享元模式、解释器模式、访问者模式
享元模式运用共享技术有效地鸡翅大量细粒度的对象 就是说有很多重复的东西,就一起用了。不要在单独创建了。不同的就传入参数就好了抽象Flyweight类//抽象Flyweight类abstract class Flyweight{ public abstract void Operation(int extrinsicstate);}两个继承实现//继承Flyweightclass Concr原创 2017-04-04 13:36:02 · 451 阅读 · 0 评论