设计模式
文章平均质量分 87
_虾_米_
这个作者很懒,什么都没留下…
展开
-
代理模式 —— Proxy Pattern
代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对...原创 2021-03-01 11:22:05 · 116 阅读 · 0 评论 -
享元模式-Flyweight Pattern
享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。享元模式以共享的方式高效地支持大量细粒度对象的重用,享元对象能做到共享的关键是区分了内部状态(Intrinsic State)和...原创 2019-12-18 15:44:00 · 163 阅读 · 0 评论 -
外观模式-Facade Pattern
外观模式中,一个子系统的外部与其内部的通信通过一个统一的外观类进行,外观类将客户类与子系统的内部复杂性分隔开,使得客户类只需要与外观角色打交道,而不需要与子系统内部的很多对象打交道。外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式结构示意图外观模式包含如下两个角色:(1) Facade(外观角色):在客户...原创 2019-12-05 16:46:20 · 137 阅读 · 0 评论 -
装饰模式-Decorator Pattern
装饰模式-Decorator Pattern装饰模式定义装饰模式定义装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为,装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。装饰模式(Decora...原创 2019-12-05 15:57:19 · 130 阅读 · 0 评论 -
组合模式-Composite Pattern
组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。组合模式结构图在组合模式结构图中包含如下几个角色:● Component(抽象构件):它可以是接口或抽象类,为叶子构...原创 2019-10-28 16:39:31 · 206 阅读 · 1 评论 -
桥接模式-Bridge Pattern
桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传...原创 2019-10-25 17:08:36 · 158 阅读 · 0 评论 -
适配器模式——Adaptor Pattern
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在...原创 2019-10-25 15:34:08 · 301 阅读 · 0 评论 -
六个创建模式——建造者模式
建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。...原创 2019-09-12 15:14:47 · 192 阅读 · 0 评论 -
六个创建模式——原型模式
原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式的工作原理:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。由于在软件系统中我们经常会遇到需要创建多个相同或者相似对象的情况,因此原型模式在真实开发中的使用频率还是非常高的。原型模式是一种“另类”的创建型模式,创建克隆对象...原创 2019-09-12 14:37:22 · 156 阅读 · 0 评论 -
六个创建模式——单例模式——确保对象的唯一性
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。单例模式有三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式之——饿汉模式:当类被加载时,静态变量instance会被初始化,此时类的私有构造函数会被调用,单例类的唯一实例将被创建cl...原创 2019-08-28 17:36:05 · 283 阅读 · 0 评论 -
六个创建模式——抽象工厂模式
抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品。抽象工厂模式定义如下:抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。在抽象工厂模式中,每一个具体工厂都提供了多个工厂...原创 2019-08-02 14:35:02 · 87 阅读 · 0 评论 -
六个创建模式——工厂方法模式
工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern)。结构图示:...原创 2019-08-01 17:22:15 · 149 阅读 · 0 评论 -
六个创建模式——简单工厂模式
工厂模式是最常用的一类创建模式,通常我们所说的工厂模式是指工厂方法模式。简单工厂模式是工厂方法模式的“小弟”。简单工厂模式不属于GoF23经典模式,但通常将其作为学习其他工厂模式的基础。简单工厂模式基本流程:首先将需要创建的各种不同对象的相关代码封装到不同的类中,这些类称为具体产品类,而将它们公共的代码进行抽象和提取后封装在一个抽象产品类中,每一个具体产品类都是抽像产品类的子类;然后提供一个工...原创 2019-08-01 15:50:58 · 114 阅读 · 0 评论 -
设计模式前奏-模板
最近开始看设计模式,设计模式到底有什么用?1.设计模式来源众多专家的经验和智慧,它们是从许多优秀的软件系统中总结出的成功的。能够实现可维护性复用的设计方案,使用这些方案将可以让我们避免做一些重复性的工作,也许我们冥思苦想得到的一个“自以为很了不起”的设计方案其实就是某一个设计模式。在时间就是金钱的今天,设计模式无疑会为有助于我们提高开发和设计效率,但它不保证一定会提高。2.设计模式提供了一...原创 2019-06-21 16:09:55 · 92 阅读 · 0 评论 -
7种常用的面向对象设计原则
设计原则名称 定义 使用频率单一职责原则 (Single Responsibility P...原创 2019-06-25 10:41:35 · 132 阅读 · 0 评论