![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
chen18677338530
这个作者很懒,什么都没留下…
展开
-
【设计模式】策略模式
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。特点策略模式体现了面向对象程序设计中非常重要的两个原则:封装变化的概念。编程中使用接口,而不是使用的是具体的实现类(面向接口编程)。举例Java中的TreeSet为例,TreeSet仅仅知道它只是接收一个Comparator这种接口类型,但是具体是哪种实现类,T...原创 2019-06-27 11:03:45 · 1176 阅读 · 0 评论 -
适配器模式
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其...原创 2019-07-16 11:07:40 · 85 阅读 · 0 评论 -
设计模式六大原则
设计模式六大原则开闭原则对扩展开放,对修改关闭。里氏代还原则任何基类可以出现的地方,子类一定可以出现。依赖倒转原则针对接口编程,依赖于抽象而不依赖于具体实现。接口隔离原则使用多个隔离的接口,比使用单个接口更好,降低类之间的耦合度。迪米特原则,又称最少知道原则一个实体应当尽量地少的与其他实体之间发生相互作用,使得系统功能模块相对独立。合成复用原则尽量使...原创 2019-07-16 11:07:09 · 72 阅读 · 0 评论 -
桥接模式
桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接...原创 2019-07-16 11:06:39 · 108 阅读 · 0 评论 -
模板模式
模板模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决一些方法通用,却在每一个子类都重新写了这一方法关...原创 2019-07-16 11:06:07 · 61 阅读 · 0 评论 -
建造者模式
建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。意图将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示主要解决主要解决在软件系统中,有时候面临着"一个复杂对象...原创 2019-07-16 11:05:36 · 96 阅读 · 0 评论 -
过滤器模式
过滤器模式过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准...原创 2019-07-16 11:05:05 · 139 阅读 · 0 评论 -
工厂模式
意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行主要解决主要解决接口选择的问题。如何使用我们明确地计划不同条件下创建不同实例时。应用实例您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。Hibernate 换数据库只需换方言和驱动就可以优点一个调用者想创建一个对象,只要知...原创 2019-07-16 11:04:33 · 158 阅读 · 0 评论 -
单例模式
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必...原创 2019-07-16 11:04:01 · 124 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类...原创 2019-07-16 11:03:27 · 162 阅读 · 0 评论 -
策略模式
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换主要解决在有多种算法相似的情况下,使用 if…e...原创 2019-07-16 11:02:56 · 92 阅读 · 0 评论 -
设计模式汇总
创建新模式提供了一种在创建对象的同事隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断针对某个给定的实例需要创建哪些对象时更加灵活。工厂模式抽象工厂模式单例模式创建者模式原型模式结构型魔术这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得最新功能的方式。适配器模式桥接模式过滤器模式组合模式装饰器模式外观模式享元模式...原创 2019-07-11 14:43:04 · 94 阅读 · 0 评论 -
【设计模式】工厂方法模式
定义定义一个用户创建对象的接口,让子类决定实例化哪一个类,工厂方法试一个类的实例化延迟到其子类。类型属于创建类模式类图原创 2019-07-16 11:08:42 · 81 阅读 · 0 评论 -
【设计模式】单例模式
定义确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型属于创建类模式类图单例优点在内存中只有一个对象,节省内存空间避免频繁的创建销毁对象,可以提高性能避免对共享资源的多重占用可以全局访问使用场景需要频繁实例化然后销毁对象创建对象时耗时过多或者耗费资源过多,但又经常用到的对象有状态的工具类对象频繁访问数据库或文件的对象要求只有一个对象存在系统中...原创 2019-07-16 11:08:49 · 77 阅读 · 0 评论 -
原型模式
原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此...原创 2019-07-16 11:08:26 · 95 阅读 · 0 评论