Java设计模式
文章平均质量分 53
Java设计模式
it_wxw
这个作者很懒,什么都没留下…
展开
-
设计模式总结
创建型:工厂模式、单例模式、原型模式、建造者模式。将对象的创建与客户端的使用进行解耦。结构型:代理模式、适配器模式、装饰器模式、门面模式、组合模式、享元模式、桥接模式。通过不同的方式(继承、组合、聚合)将类与类之间关系关联起来,以形成一个良好的软件体系结构。行为型:委派模式、策略模式、模板方法模式、责任链模式、迭代器模式、命令模式、状态模式、备忘录模式、解释器模式、中介者模式、观察者模式、访问者模式。将对象处理请求的行为分离出来,使程序更加健壮。原创 2024-03-15 11:15:25 · 482 阅读 · 0 评论 -
访问者模式(Visitor Pattern)
访问者模式(Visitor Pattern)属于行为型模式,表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。该模式是将数据结构与数据操作分离的设计模式,是将作用于某种数据结构中的各元素的操作封装起来。该模式的实施前提是数据结构相对稳定,不会频繁变动,但是作用于结构上的操作又经常变动。原创 2024-03-14 16:56:32 · 691 阅读 · 0 评论 -
解释器模式(Interpreter Pattern)
解释器模式(Interpreter Pattern)属于行为型模式,是指给定一门语言,定义它的语法(文法)的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。是一种按照规定的语法(文法)对语言进行解析的模式。原创 2024-03-13 19:06:07 · 581 阅读 · 0 评论 -
中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)属于行为型模式,又称为调解者模式或调停者模式。用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。原创 2024-03-13 11:40:53 · 520 阅读 · 0 评论 -
备忘录模式(Memento Pattern)
备忘录模式(Memento Pattern)属于行为型模式,又称为快照模式(Snapshot Pattern)或令牌模式(Token Pattern),是指在不破坏封装的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。原创 2024-03-12 16:29:55 · 338 阅读 · 0 评论 -
状态模式(State Pattern)
状态模式(State Pattern)属于行为型模式,也称为状态机模式(State Machine Pattern),是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。原创 2024-03-11 22:23:29 · 324 阅读 · 0 评论 -
命令模式(Command Pattern)
命令模式(Command Pattern)属于行为型模式,是将一个请求封装为对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。原创 2024-03-11 16:15:22 · 307 阅读 · 0 评论 -
迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)属于行为型模式,又称为游标模式(Cursor Pattern),它提供一种顺序访问集合/容器对象元素的方案,而又无须暴露集合内部表示。本质:抽离集合对象迭代行为到迭代器中,提供一致访问接口。原创 2024-03-11 10:56:59 · 464 阅读 · 0 评论 -
责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)属于行为型模式,它是指使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。从而避免请求的发送者和接收者之间的耦合关系。原创 2024-03-09 16:12:47 · 426 阅读 · 0 评论 -
组合模式(Composite Pattern)
组合模式(Composite Pattern)属于结构型模式,是将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。原创 2024-03-08 11:39:22 · 438 阅读 · 0 评论 -
桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern)属于结构型模式,是将抽象部分与它的实现部分分离,使它们都可以独立的变化。原创 2024-02-27 16:28:02 · 442 阅读 · 0 评论 -
观察者模式(Observer Pattern)
观察者模式(Observer Pattern)属于行为型模式,又叫:发布-订阅模式(Publish-Subscribe)、模型-视图模式(Model-View)、源-监听器模式(Source-Listener)、从属(Dependents)模式。定义一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听,使得每当主题对象发生变化时,所有依赖于它的对象都会得到通知并被自动更新。原创 2021-12-20 17:44:25 · 347 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式(Strategy Pattern)属于行为型模式,也叫做政策模式(Policy Pattern),它是将定义的算法家族分配封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。原创 2021-12-20 14:30:21 · 178 阅读 · 0 评论 -
模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern)通常又叫模板模式,是指定义一个操作中算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。原创 2021-12-20 12:04:31 · 182 阅读 · 0 评论 -
委派模式(Delegate Pattern)
委派模式定义委派模式又叫委托模式,它的基本作用就是负责任务的调度和任务分配,将任务的分配的执行分离开来。可以看作是一种特殊情况下的静态代理的全权代理。理解现实生活中工作就是一种委派模式,老板将任务分配给领导,领导将任务分配给组长,组长最后将任务分配给具体的员工。在Java中,Spring中的DispatchServlet就是典型的委派模式,客户端发送请求后,Servlet根据URL找到对应的Controller方法,然后执行该方法的调用。委派模式完全符合单一职责原则与最少知道原则。...原创 2021-12-20 10:29:52 · 531 阅读 · 0 评论 -
适配器模式(Adapter pattern)
适配器模式(Adapter Pattern)属于结构型模式,又叫变压器模式,它的功能是将一个类的接口变成客户端所期望的另一个接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工作原创 2021-12-18 13:12:38 · 263 阅读 · 0 评论 -
享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)属于结构型模式,指运用共享技术有效地支持大量细粒度对象。原创 2021-12-17 17:41:31 · 120 阅读 · 0 评论 -
装饰器模式(Decorator Pattern)
装饰器模式(Decorator Pattern)属于结构型模式,也叫包装模式(Wrapper Pattern),是指在不改变原有对象的基础之上,将功能附加到对象上,提供比继承更有弹性的替换方案(扩展原有对象的功能)原创 2021-12-17 14:36:13 · 409 阅读 · 0 评论 -
门面模式(Facade Pattern)
门面模式(Facade Pattern)属于结构型模式,又叫外观模式,是指向客户端提供了一个统一的接口,用来访问子系统中的一群接口。原创 2021-12-17 12:29:07 · 70 阅读 · 0 评论 -
代理模式(Proxy Pattern)
代理模式(Proxy Pattern)属于结构性模式,是指为其他对象提供一种代理,以控制对这个对象的访问。原创 2021-12-17 12:12:59 · 353 阅读 · 0 评论 -
建造者模式(Builder Pattern)
建造者模式(Builder Pattern)属于创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。原创 2021-12-17 11:29:22 · 143 阅读 · 0 评论 -
原型模式(Prototype Pattern)
原型模式(Prototype Pattern)属于创建型模式,是指根据一个原型对象克隆出一个一摸一样的对象,且不需要调用其构造函数。原创 2021-12-16 17:46:47 · 81 阅读 · 0 评论 -
单例模式(Singleton Pattern)
单例模式(Singleton Pattern)属于创建型模式,是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。原创 2021-12-16 15:43:43 · 135 阅读 · 0 评论 -
工厂模式系列
工厂模式属于创建型模式,它将对象的使用者与该对象的创建逻辑进行分离(降低耦合度),单独抽象出一个角色用来负责创建工作,这个角色就是工厂类。在某些业务场景,创建对象时可能需要做一些逻辑判断以及前置处理等等,工厂类将一个对象的创建过程及细节进行封装,使用者只需要告诉工厂类需要哪个对象实例即可,无须关心创建细节。原创 2021-12-16 13:57:22 · 809 阅读 · 0 评论