
设计模式速攻与巩固
文章平均质量分 80
面试速攻以及日常巩固必备.
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
通尼渣渣
一即是全,全即是一。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
十分钟速攻设计模式面试(建议收藏)
设计模式分为三大类: 创建型模式(5种):单例模式、工厂方法模式和抽象工厂模式、建造模式 、原型模式 结构型模式(7种):适配器模式、装饰模式、代理模式、门面模式、桥梁模式、组合模式、享元模式 行为型模式(11种):策略模式、模板方法模式 、观察者模式、迭代器模式、责任链模式、命令模式 、备忘录模式 、状态模式 、访问者模式、中介者模式、解释器模式 。 十分钟想学会设计模式是不太可能的,但如果面试的话十分钟可以速记一下每个模式的概念。 以下: 设计模式 传送门 单例模式 确保原创 2021-01-29 09:55:26 · 193 阅读 · 0 评论 -
速记java设计模式(命令模式)
模板方法模式(Template Method Pattern) 定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.(定义一个操作中的算法的框架,而将一些原创 2021-01-29 09:08:41 · 146 阅读 · 0 评论 -
速记java设计模式(桥梁模式)
桥梁模式(Bridge Pattern) 定义:Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化。) 组成: 抽象(Abstraction )角色:它定义了抽象类的接口而且维护着一个指向实现 (Implementor)角色的引用。 精确抽象(RefinedAbstraction)角色:实现并扩充由抽象角色定义的接口。 实现(Implem原创 2021-01-29 09:08:32 · 180 阅读 · 0 评论 -
速记java设计模式(享元模式)
享元模式(Flyweight Pattern) 定义:Use sharing to support large numbers of fine-grained objects efficiently.(使用共享对象可有效地支持大量的细粒度的对象。) 对象的信息分为两个部分:内部状态(intrinsic)与外部状态(extrinsic)。 享元模式中区分了内蕴状态和外蕴状态。内蕴状态就是共性,外蕴状态就是个性了。 享元模式分为:单纯享元模式和复合享元模式。 单纯享元模式的结构。 抽象享元角色:为具体享元原创 2021-01-28 16:22:14 · 197 阅读 · 0 评论 -
速记java设计模式(解释器模式)
解释器模式(Interpreter Pattern) (少用) 定义:Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. (给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。) 组成: 抽象表达式角色:声明一原创 2021-01-28 16:11:07 · 173 阅读 · 0 评论 -
速记java设计模式(状态模式)
状态模式(复杂) 定义:Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.(当一个对象内在状态改变时允许其改变行 为,这个对象看起来像改变了其类。) 状态模式可以有效的替换充满在程序中的 if else 语句:将不同条件下的行为封装在一 个类里面,再给这些类一个统一的父类来约束他们。 组成 使用环境(Context)角色:客户程原创 2021-01-28 16:05:32 · 169 阅读 · 0 评论 -
速记java设计模式(访问者模式)
访问者模式(Visitor Pattern) 定义:Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates. (封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于原创 2021-01-28 15:57:27 · 140 阅读 · 0 评论 -
速记java设计模式(备忘录模式)
备忘录模式(Memento Pattern) 定义:Without violating encapsulation,capture and externalize an object’s internal state so that the object can be restored to this state later.(在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。) 备忘录(Memento)模式又称标记(Token)模式。原创 2021-01-28 15:55:30 · 169 阅读 · 0 评论 -
速记java设计模式(门面模式)
门面模式(Facade Pattern) 定义:Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher-level interface that makes the subsystem easier to use.(要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。) 门面模式(facade)又称外观模式。 组成:原创 2021-01-28 14:50:50 · 136 阅读 · 0 评论 -
速记java设计模式(观察者模式)
观察者模式(Observer Pattern) 定义:Define a one-to-many dependency between objects so that when oneobject changes state,all its dependents are notified and updated automatically.(定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。) 观察者(Observer)模式又名发布-订阅(Publish原创 2021-01-28 14:46:09 · 148 阅读 · 0 评论 -
速记java设计模式(组合模式)
组合模式(Composite Pattern) 定义:Compose objects into tree structures to represent part-whole hierarchies.Composite lets clients treat individual objects and compositions of objects uniformly.(将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。) 组合(Composite)模式的其原创 2021-01-28 09:28:32 · 182 阅读 · 0 评论 -
速记java设计模式(迭代器模式)
迭代器模式(Iterator Pattern) 定义:Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.(它提供一种方法访问一个容器对 象中各个元素,而又不需暴露该对象的内部细节。) 组成: Iterator 抽象迭代器抽象迭代器负责定义访问和遍历元素的接口,而且基本上是有固定的 3 个方法: first()获原创 2021-01-28 09:12:08 · 140 阅读 · 0 评论 -
速记java设计模式(适配器模式)
适配器模式(Adapter Pattern) 定义:Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.(将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。) 组成: 目原创 2021-01-28 09:11:57 · 159 阅读 · 0 评论 -
速记java设计模式(策略模式)
策略模式(Strategy Pattern) 定义:Define a family of algorithms,encapsulate each one,and make them interchangeable.(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。) 角色组成: 算法使用环境(Context)角色:算法被引用到这里和一些其它的与环境有关的操作一起 来完成任务。 抽象策略(Strategy)角色:规定了所有具体策略角色所需的接口。在 java 它通常由接口 或者抽象类来实现。原创 2021-01-27 15:50:41 · 196 阅读 · 0 评论 -
速记java设计模式(装饰模式)
装饰模式(Decorator Pattern) 定义:Attach additional responsibilities to an object dynamically keeping the same interface.Decorators provide a flexible alternative to subclassing for extending functionality.(动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。) 装饰模式的组成: 抽原创 2021-01-27 15:34:51 · 154 阅读 · 0 评论 -
速记java设计模式(责任链模式)
责任链模式 定义:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it.(使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系原创 2021-01-27 15:24:00 · 144 阅读 · 0 评论 -
速记java设计模式(命令模式)
命令模式 定义:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations. (将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。) 组成 Receive 接收者角色 该角色就是干活的角原创 2021-01-27 15:11:18 · 131 阅读 · 0 评论 -
速记java设计模式(中介者模式)
中介者模式(Mediator Pattern),也有成为调停者模式、 定义:Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.(用一个中介对原创 2021-01-27 14:36:22 · 143 阅读 · 0 评论 -
速记java设计模式(原型模式)
原型模式(Prototype Pattern) 定义:Specify the kinds of objects to create using a prototypical instance,and create new objects by copying this prototype.(用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。) 原型模式属于对象创建模式,GOF 给它的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 工厂模式对新产品的适应能力比较弱:创原创 2021-01-27 14:12:53 · 156 阅读 · 0 评论 -
速记java设计模式(代理模式)
代理模式(Proxy Pattern) 定义:Provide a surrogate or placeholder for another object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问。) 说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。 代理模式分为 8 种,这里将几种常见的、重要的列举如下: 远程(Remote)代理:为一原创 2021-01-27 11:27:27 · 190 阅读 · 0 评论 -
速记java设计模式(建造模式)
建造者模式(Builder Pattern) 定义:Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。) GOF 给建造模式的定义为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创原创 2021-01-27 11:01:23 · 193 阅读 · 0 评论 -
速记java设计模式(模板方法模式)
定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.(定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义 该.原创 2021-01-29 09:17:09 · 159 阅读 · 0 评论 -
速记java设计模式(工厂模式)
工厂模式 定义:Define an interface for creating an object,but let subclasses decide which class to instantiate.Factiory Method lets a class defer instantiation to subclasses (定义一个用于创建对象的借口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。) 角色: Product 为抽象产品类负责定义产品的共性,实现对事物最抽象的定原创 2021-01-27 10:29:16 · 178 阅读 · 0 评论 -
速记java设计模式(单例模式)
单例模式(Singleton Pattern) 定义:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实 例。) 目的:控制特定的类只产生一个对象,当然也允许在一定情况下灵活的 改变对象的个数。 通用代码:(是线程安全的) public class Singleton { private static final Singlet原创 2021-01-27 10:05:46 · 173 阅读 · 0 评论