![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 81
红尘不染
我想把代码写的像诗一样优雅
展开
-
设计模式-第25章(模式总结)
设计模式分类六大设计原则创建型模式总结结构型模式总结行为型模式一行为型模式二总结原创 2023-04-05 22:24:38 · 457 阅读 · 0 评论 -
设计模式-第24章(访问者模式)
访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各个元素的类的前提下定义作用于这些元素的新操作。原创 2023-03-28 22:57:51 · 324 阅读 · 0 评论 -
设计模式-第24章(解释器模式)
解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。Context 包含解释器之外的一些全局信息。AbstractExpression 抽象表达式,声明一个抽象的解释操作。TerminalExpression 终结符表达式,实现与文法中的终结符相关联的解释操作。NonterminalExpression 非终结符表达式,为文法中的非终结符实现解释操作。原创 2023-03-27 22:51:36 · 613 阅读 · 0 评论 -
设计模式-第23章(享元模式)
何时应用享元模式?如果一个应用程序使用了大量的对象,而大量的这样对象造成了很大的存储开销时,就应该考虑使用。还有就是对象的大多数状态可以是外部状态,如果删除了外部状态,就可以用相对较少的共享对象取代很多组对象,此时可以考虑使用享元模式。享元模式,共享了对象,可以减少实例,可以节约存储空间。享元模式的应用,在Java中,字符串常量池就是运用了享元模式。String titleA = new String("大话设计模式");String titleB = new String("大话设计模式");原创 2023-03-26 22:54:27 · 684 阅读 · 1 评论 -
设计模式-第22章(中介者模式)
中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。原创 2023-03-22 23:11:02 · 396 阅读 · 0 评论 -
设计模式-第16章(组合模式)
组合模式(Composite),将对象组合成树形结构以表示’部分-整体‘的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。原创 2023-03-15 22:52:09 · 614 阅读 · 0 评论 -
设计模式-第18章(单例模式)
然后,由于锁机制,只能有一个线程进入,进行对象的创建,然后解锁。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。Singleton类,包含了一个实例化的对象,定义一个 getInstance 静态方法,主要用来得到唯一的实例。可以在getInstance方法内部对 Singleton 类加锁,只有当对象没有实例化的时候,加锁,防止多个线程创建多个对象。在多线程环境下,如果同时访问 Singleton 类,调用getInstance方法,可能会创建多个实例。原创 2023-03-18 16:43:06 · 521 阅读 · 0 评论 -
设计模式-第20章(命令模式)
命令模式的优点能比较容易地设计一个命令队列。在需要的情况下,可以较容易地将命令记入日志。允许接收请求的一方决定是否要否决请求。可以容易地实现对请求的撤销和重做。加进新的具体的命令类不影响其他的类。命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分割开。敏捷开发原则:不要为代码添加基于猜测的 ,实际不需要的功能。原创 2023-03-20 22:41:33 · 430 阅读 · 0 评论 -
设计模式-第17章(迭代器模式)
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。ConcreteIterator,ConcreteIteratorDesc 具体的迭代器类。为遍历不同的聚合结构,需要提供开始,下一个,是否结束,当前项等统一的接口。Java.util.Iterator 支持对集合对象的简单迭代接口。在Java中,已经准备好了相关的接口,只需要去实现就好。ConcreteAggregate 具体聚合类。Iterator 迭代器抽象类,定义统一的接口。原创 2023-03-16 22:47:41 · 458 阅读 · 1 评论 -
设计模式-第15章(备忘录模式)
Memento 模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator 可以根据保存的Memento信息还原到前一状态。Memento(备忘录):负责存储 Originator 对象的内部状态,并防止 Originator 以外的其他对象访问备忘录 Memento。将要保存的细节给封装到 Memento 中,如果想要修改要保存的细节,只需要更改 Memento 类,不用更改客户端。RoleStateMemento 角色备忘录类。原创 2023-03-14 23:01:24 · 194 阅读 · 0 评论 -
设计模式-第19章(桥接模式)
子类的实现与父类的实现有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。合成/聚合复用原则的好处,优先使用对象的合成/聚合将有助于保存每个类被封装,并被集中到单个任务上。手机有多种手机品牌,每一种手机品牌都有不同的手机软件。雁群和大雁,每一个大雁都属于一个雁群,一个雁群有多个大雁,大雁和雁群是聚合关系。大雁和翅膀是整体和部分的关系,并且生命周期是相同的,大雁和翅膀就是合成关系。原创 2023-03-20 21:21:45 · 433 阅读 · 0 评论 -
设计模式-第21章(职责链模式)
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。原创 2023-03-21 22:46:34 · 395 阅读 · 0 评论 -
设计模式-第14章(适配器模式)
适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。原创 2023-03-13 23:00:54 · 358 阅读 · 0 评论 -
设计模式-第13章(状态模式)
状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。原创 2023-03-10 23:42:27 · 421 阅读 · 1 评论 -
设计模式-第12章(抽象工厂模式)
抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。原创 2023-03-08 23:23:20 · 363 阅读 · 0 评论 -
设计模式-第11章(观察者模式)
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。原创 2023-03-07 22:53:58 · 440 阅读 · 0 评论 -
设计模式-第10章(建造者模式)
建造者模式(Builder),将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。原创 2023-03-06 22:36:16 · 275 阅读 · 0 评论 -
设计模式-第9章(外观模式)
外观模式(Facade),为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2023-03-05 23:12:18 · 140 阅读 · 0 评论 -
设计模式-第8章(模板方法模式)
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。原创 2023-03-05 22:15:58 · 268 阅读 · 0 评论 -
设计模式-第7章(原型模式)
原型模式简历的原型实现浅拷贝与深拷贝简历的深复制实现原创 2023-03-02 23:06:20 · 83 阅读 · 0 评论 -
设计模式-第6章(工厂模式)
简单工厂实现工厂模式实现简单工厂 VS 工厂方法商场收银程序再再升级(简单工厂+策略+装饰+工厂方法)工厂方法模式总结原创 2023-03-01 22:42:32 · 2065 阅读 · 3 评论 -
设计模式-第5章(代理模式)
代理模式(Proxy),为其他对象提供了一种代理以控制对这个对象的访问。原创 2023-02-28 22:27:42 · 234 阅读 · 0 评论 -
设计模式-第4章(装饰模式)
装饰模型装饰模式示例商场收银程序(简单工厂+策略+装饰模式实现)装饰模式总结原创 2023-02-27 23:02:22 · 1133 阅读 · 0 评论 -
设计模式-第3章(设计原则)
单一职责原则开放-封闭原则依赖倒转原则迪米特法则原创 2023-02-20 23:28:05 · 391 阅读 · 1 评论 -
设计模式-第2章(策略模式)
策略模式收银软件简单工厂模式实现策略模式策略模式实现策略模式解析原创 2023-02-09 23:33:04 · 496 阅读 · 0 评论 -
设计模式-第1章(简单工厂模式)
计算器1的代码计算器2的代码活字印刷,面向对象业务的封装降低耦合简单工厂模式UML 类图原创 2023-02-05 22:19:16 · 361 阅读 · 0 评论 -
设计模式-第0章(面向对象基础)
类和实例构造方法方法重载属性和修饰符封装继承多态抽象类接口泛型原创 2023-02-05 10:28:53 · 386 阅读 · 0 评论