
设计模式
文章平均质量分 75
墨丶亦轩
这个作者很懒,什么都没留下…
展开
-
【设计模式】面向对象原则
对于面向对象语言设计的软件,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则7种常用的面向对象设计原则单一职责原则(Single Responsibility Principle, SRP) 一个类只负责一个功能领域中的相应职责(换句话说,一个类而原创 2017-03-23 17:00:41 · 430 阅读 · 0 评论 -
【设计模式】创建型模式——原型模式(Prototype Pattern)
原型模式的定义 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。注意:通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,通常对克隆所产生的对象进行修改对原型对象不会造成任何影响,每一个克隆对象都是相互独立的。通过不同的方式修改可以得到一系列相似但不完全相同的对象模式优点当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过原创 2017-04-01 13:45:19 · 377 阅读 · 0 评论 -
【设计模式】Lambda实现工厂模式
简单原始例子public interface Shape { void draw();}public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}转载 2017-04-01 16:15:50 · 677 阅读 · 0 评论 -
【设计模式】行为型模式——策略模式(Strategy Pattern)
策略模式定义 实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分开策略模式优点策略模式提供了对“开闭原则”的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。策略模式提供了管理相关的算法族的办法。策略原创 2017-04-01 15:58:19 · 407 阅读 · 0 评论 -
【设计模式】结构型模式——适配器模式(Adaper Pattern)
适配器模式定义 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系适配器优点将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无须修改原有代码。原创 2017-03-31 17:44:36 · 280 阅读 · 0 评论 -
【设计模式】创建型模式——建造者模式(Builder Pattern)
建造者模式定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 例如: 王者荣耀内的英雄角色。他们有多个组成部分(技能、着装、五官等)构成一个复杂的角色对象。但每个角色的组成部分又有差异,但创建步骤都大同小异。最后将各组成部分装配成一个完整的人物。模式优点在建造者模式中, 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创原创 2017-03-31 13:23:51 · 536 阅读 · 0 评论 -
【设计模式】结构性模式—— 代理模式(Proxy Pattern)
代理模式定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。它是一种对象结构型模式代理模式的优点代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。远程代理使得客户端可以访问在远程机器上的对象,远程机器 可能具有更好的计算性能与处理速度,可以快速响应并处理客户端请求。虚拟代理通过使用一个小对象来代表一个大对象,可以减少系 统资源的消耗,对系统进行优化并提高运行速原创 2017-03-31 11:18:08 · 368 阅读 · 0 评论 -
【设计模式】创建型模式—— 工厂模式(Factory Pattern)
简单工厂工厂方法抽象工厂简单工厂 根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法(StaticFactoryMethod)模式,属于类创建型模式简单工厂模式优点工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;原创 2017-03-30 17:49:28 · 717 阅读 · 0 评论 -
【设计模式】行为型模式—— 观察者模式(Observer)
观察者模式定义 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 举个例子:完农药开黑的时候。5人一队,推塔游戏。当其中防御塔或者水晶有一方遭原创 2017-03-30 11:48:01 · 1715 阅读 · 0 评论 -
【设计模式】结构性模式——装饰模式(Decorator Pattern)
装饰模式定义 动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper)通常有两种模式可以实现给一个类或对象增加行为静态方法:继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法动态方法 : 关联机制将一个类的对象嵌入另一个对象中,由原创 2017-03-29 17:54:34 · 398 阅读 · 0 评论 -
【设计模式】创建型模式——单例模式(Single Pattern)
单例模式定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式优点对于频繁使用的对象,可以省略创建对象所花费的时间。由于 new 操作的次数减少,因而降低系统内存使用频率,减轻 GC 压力,缩短 GC 停顿时间。允许可变数目的实例。使用与单例控制相似的方法来获得指定个数的对象实例,既节省系统资原创 2017-03-29 16:10:43 · 456 阅读 · 0 评论 -
【设计模式】结构型模式——组合模式(Composite Pattern)
组合模式定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。 组合模式为处理树形结构提供了一种较为完美的解决方案,它描述了如何将容器和叶子进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器和叶子。模原创 2017-04-05 11:42:40 · 303 阅读 · 0 评论