
设计模式
文章平均质量分 70
氦客
Stay hungry,Stay foolish
展开
-
责任链模式及实例: 模拟图片加载
责任链模式及实例:模拟图片加载 责任链模式 将很多处理对象连成一条链,并沿着这条链传递请求,直到有对象处理该请求为止。责任链模式的角色抽象处理者(Handler)角色定义处理的方法决定链的排列方式设置下一个处理者具体处理者(ConcreteHandler)角色实现具体的处理 总结:父类实现请求传递的功能,子类实现请求的处理UML优点将请求和处理分开 请求者无需知道是谁处理处理原创 2016-01-16 12:57:48 · 653 阅读 · 0 评论 -
设计模式六大原则
设计原则单一职责原则有且仅有一个原因引起类的变更里氏替换原则只要父类能出现的地方,子类就可以出现,使用者不需要知道是父类还是子类 (反过来就不一定行) 子类必须完全实现父类的方法 如果子类不能完整的实现父类的方法,或者父类的某些方法在子类中已经发生畸变,则建议断开父子继承关系,采用依赖,聚合,组合等关系代替继承子类可以有自己的个性 子类出现的地方,父类未必可以胜任但应避免子类的个性,一旦原创 2015-12-30 23:41:22 · 831 阅读 · 0 评论 -
中介者模式及MVP、MVVM上的体现
中介者模式及MVP、MVVM上的体现中介者模式用一个中介对象封装一系列的对象交互,中介者使对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 简单的来说 就是把一个蜘蛛网的结构变为星型结构。蜘蛛网结构星型结构 中介者模式的角色Mediator抽象角色 定义统一接口,用于各个同事角色之间的通信Concrete Mediator 协调各同事角色进行协原创 2016-01-24 11:10:13 · 2090 阅读 · 0 评论 -
桥梁模式及实例:上课
桥梁模式及实例:上课 将抽象和实现解耦,使得两者可以独立地变化。 两个纬度上的,都可单独的变化桥梁模式的角色Abstraction 抽象化角色 定义出该角色行为保存一个Implements的引用Implements 实例化角色 定义出该角色的行为和属性RefineAbstraction 修正抽象化角色 修正抽象化角色的行为和属性ConcreteImplements 具体实例化原创 2016-01-08 23:55:27 · 825 阅读 · 0 评论 -
策略模式及实例:四则运算
策略模式及实例:四则运算策略模式 (Strategy Pattern) 定义一系列算法,并将每一个算法封装起来,而且使它们还可以相互替换。让算法独立于使用它的客户而独立变化。 UML策略模式中的角色Context封装类角色 启承上启下的作用屏蔽高层模块对策略、算法的直接访问封装可能的变化Strategy抽象策略角色 策略、算法的抽象类ConcreteStrategy 具体的策原创 2016-01-07 21:44:25 · 1441 阅读 · 0 评论 -
UML常见关系图,依赖、关联等
UML常见关系,依赖、关联首先类之间的关系从宏观上可以分为:关联、依赖、继承(泛化),而其中关联又有两种特例:聚合和组合,不过在UML2.X中聚合和组合合成一种关系了。 从使用的频率来看,关联(包括聚合和组合)关系是使用最为广泛的;其次是依赖和继承 Association 关联(双向的) 和 DirectedAssociation 关联(单向的)关联是一种结构关系,说明一个事物的对象与另一个事物原创 2016-07-24 11:09:44 · 2769 阅读 · 0 评论 -
组合模式
组合模式 - 物以类聚用代码来表示树形结构,将一组相似的对象做一组对象处理,提供一个统一的方法访问相应的对象,以此忽略对象与对象之间的差别。使用场景表示对象的部分-整体层次结构时 从一个整体中能够独立出部分模块或者功能的场景 组合模式角色Component抽象根节点,用于管理和访问Component子节点。可在递归结构中定义一个接口,用于访问一个父节点,并在合适的情况下实现它。Composite原创 2016-07-24 11:14:42 · 602 阅读 · 0 评论