自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 观察者模式

观察者模式核心–观察者模式主要用于1:N的通知。当一个对象(目标对象Subject或者Objservable)的状态变化时,他需要及时告知一系列对象(观察者对象,Observer),令他们做出响应。–通知观察者的方式:(1)推(每次都会把通知以广播的方式发送给所有观察者,所有观察者只能被动接收。)(2)拉(观察者只要知到有情况即可。至于什么时候获取内容,获取什么内容,都可以自主决定。)...

2019-05-11 18:39:52 64

原创 状态模式

状态模式场景:1.酒店系统中,房间的状态变化:~~已预定~~已入住~~空闲2.红绿灯~~红灯~~黄灯~~绿灯核心:用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题结构:Context环境类环境类中维护一个State对象。他是定义了当前的状态。State抽象状态类ConcreteState具体状态类每一个类封装了一个状态对应的行为我们以酒店系统为...

2019-05-11 17:55:15 96

原创 模板方法模式

模板方法模式场景1.客户到银行办理业务(1)取号排队(2)办理具体现金/转账/企业/个人/理财业务(3)给银行工作人员评分模板方法模式介绍模板方法模式是编程中经常用得到的模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。核心处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。...

2019-05-11 15:21:45 80

原创 策略模式

策略模式场景1.某个市场人员接到单后的报价策略(CRM系统中常见问题)。报价策略很复杂,可以简单作如下分类:(1).普通客户小批量报价。(不打折)(2).普通客户大批量报价。(打九折)(3).老客户小批量报价。(打八五折)(4).老客户大批量报价。(打八折)2.具体选用那个报价策略,这需要根据实际情况来确定。这时候,我们采用策略模式即可。可以用if else实现,虽然实现起来容...

2019-05-10 16:26:01 77

原创 中介者模式

中介者模式核心1.如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多关系,将导致关系及其复杂,这些对象称为“同事对象”。2.我们可以引入一个中介者对象,使各个同事对象只跟中介者对象打交道,将复杂的网络结构化解为星型结构。例如公司财务部,市场部,科研部之间的关系。假如没有总经理。下面三个部门:财务部、市场部、研发部。财务部要发工资,让大家核对公司需要跟市场部和研发部都...

2019-05-09 21:17:26 67

原创 迭代器模式

迭代器模式场景提供一种可以遍历聚合对象的方式。又称游标cursor模式集合对象:存储数据迭代器:遍历数据

2019-05-09 14:24:33 75

原创 责任链模式

责任链模式定义将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。场景打牌时,轮流出牌接力赛跑大学中,奖学金审批公司中,公文审批例子:假条的审批• 如果请假天数小于3天,主任审批• 如果请假天数大于等于3天,小于10天,经理审批• 如果大于等于10天,小于30天,总经理审批...

2019-05-08 20:51:09 233

原创 享元模式

场景–内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的对象,我们可以通过享元模式,节省内存。核心–享元模式以共享的方式高效地支持大量细粒度对象的重用。–享元模式对象能做到共享的关键是区分了内部状态和外部状态。内部状态:可以共享,不会随环境变化而改变。外部状态:不可以共享,会随环境变化而改变。...

2019-05-08 12:39:16 47

原创 装饰模式

指责1.动态的为一个对象增加新的功能。2.装饰模式是一种用于代替继承的技术,无需通过继承增加子类技能扩展对象新功能。使对象的关 联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。官方给出的UML图• 实现细节:– Component抽象构件角色:• 真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象相同的方式同装饰对象交互。– Concrete...

2019-05-07 18:25:47 80

原创 组合模式

使用组合模式的场景:把部分和整体的关系用树形结构来表示。从而使客户端可以统一的方法处理部分对象和整体对象。组合模式的核心:抽象构件(Component)角色:定义了叶子和容器构件的共同点。叶子(Leaf)构件角色:无子节点。容器(Composite)构件角色:有容器特征,可以包含子节点。例子:使用组合模式模拟杀毒软件定义抽象组件package pattern.composite...

2019-05-07 14:52:28 79

原创 桥接模式

如若要实现下图关系我们首先可以使用多继承的方式未使用桥接模式很麻烦(部分实现代码如下)package pattern.bridge;//电脑public interface Computer { void sale();}package pattern.bridge;public class Desktop implements Computer { @O...

2019-05-06 21:32:44 86

原创 结构性模式

结构性模式核心作用:是从程序的结构上实现松耦合,从而可以扩大整体类的结构,用来解决更大的问题。、分类:适配器模式,代理模式,桥接模式,装饰模式,组合模式,外观模式,享元模式。(1)适配器模式什么是适配器模式?将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。模式中的角色目标接口(Target):客户所期待的...

2019-05-06 16:48:43 443

原创 原型模式

原型模式通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可使用原型模式。就是Java中的克隆技术,以某个对象为原型,复制出新的对象。显然,新的对象具备原型对象的特点。优势:效率高(直接克隆,避免了重新执行构造过程步骤)。克隆类似于new,但是不同与new。new创建新的对象属性采用的是默认值。克隆出的对象属性完全和原型相同。并且克隆出的新对象不会影响原型对象。然后,再修改克隆对...

2019-05-04 20:12:16 49

原创 建造者模式

建造者模式的本质分离了对象子组件的单独构造(由Builder来负责)和装配(由Director来负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的构造过程复杂的情况下使用。由于实现了构造和装配的解耦。不同的构造器,相同的配置,也可以做出不同的对象;相同的构造器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法,装配算法的解耦,实现了更好的复用。接下来我们已建造飞船为例:...

2019-04-30 17:22:01 58

原创 抽象工厂模式

抽象工厂模式用来生成不同产品族的全部产品。(对于增加新产品无能为力;支持增加产品族)抽象工厂模式是工厂方法模式的升级版本,再有多个业务品种,业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。示意图以汽车工厂为例,一个汽车工厂可以造好汽车(好的发动机,轮胎,座椅)和坏汽车(坏的发动机,轮胎,座椅)。代码如下:package pattern.abstractFacto...

2019-04-29 21:23:34 67

原创 工厂方法模式

工厂方法模式要点:为了避免工厂模式的缺点,不能完全满足OCP(开闭原则)。工厂方法模式和简单工厂模式的最大不同在于,简单工厂模式只有一个(对于一个项目或者一个独立模块而言)工厂类,而工厂方法模式有一组实现了相同接口的工厂类。建立接口package pattern.simplefactory;public interface Car { void run();}建两...

2019-04-29 20:23:57 98

原创 简单工厂模式

工厂模式面向对象设计的基本原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭。依赖倒置原则:要针对接口编程,不要针对实现编程。迪米特法则:只与你直接的朋友通信。而避免和陌生人通信。单一指责原则:每个类应该专注于最一件事。里氏替换原则:父类存在的地方,子类是可以替换的。...

2019-04-29 19:21:00 73

原创 单例模式

**单例模式**1.单例模式缺点单例模式只生成一个实例,减少了系统性能的开销2.常见的五种单例模式实现方式主要饿汉模式(线程安全,调用效率高。但是不能延迟加载。)懒汉模式(线程安全,调用效率不高。但是可以延迟加载。)其他双重检测锁式静态内部类式枚举单例懒汉模式package ...

2019-04-26 17:31:46 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除