![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 75
ClarkKentYang
爱生活,爱米兰,爱Java
展开
-
设计模式(五)模板方法设计模式
模板方法设计模式:定义:定义一个算法的抽象类,让子类实现具体的算法。模板方法使得子类不能修改算法的结构,只能修改算法的特定步骤。优点:易于扩展,便于维护,比较灵活缺点:当结构修改的时候,需要修改其抽象类。代码实现:public abstract class AbstarctMode { public final void buySomething(){原创 2016-11-08 10:38:59 · 341 阅读 · 0 评论 -
设计模式(十)代理模式
代理:只需要对象进行相关的操作,对象操作的前后的处理的行为人,即是代理。代码之静态代理:球员相关工作的接口:public interface PlayerInterface { //踢球,球员本身的技能 public void playFootBall(); //下面为经纪人(代理的工作) public void chooseFootBallTeam(); pub原创 2017-06-15 16:38:57 · 269 阅读 · 0 评论 -
设计模式(九)适配器模式
适配器:是一个接口转换器,将一个接口转换为客户需求的另一个接口。使原本由于借口不兼容而不能操作的类可以操作。使用场景:旧系统升级改造;例子:InputStreamReader(InputStream),OutputStreamWriter(OutputStream)接口:public interface Target { void doSth();}p原创 2017-06-15 10:57:05 · 226 阅读 · 0 评论 -
设计模式(八)原型模式
使用场景:当通过new产生的一个对象需要非常繁琐的数据准备或访问权限时,可以使用原型模式。类似于java中的克隆技术,以某个对象为原型,复制出新的对象。新对象与原型对象拥有相同特点。优势:效率高,避免了重新执行构造过程的步骤。与new出来的对象的比较:new创建新的对象属性采用的是默认值。克隆出的对象的属性值完全和原型对象相同。克隆出的新对象改变不会影响原型对象,并且修原创 2017-06-14 11:46:49 · 239 阅读 · 0 评论 -
设计模式(七)建造者模式
适用于某个对象的构建过程复杂的情况,分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。原创 2017-06-12 18:12:58 · 268 阅读 · 0 评论 -
设计模式(六)抽象工程模式
概念:抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。适用于多个细分的部分组成的一个产品的制造工厂。例子:一个世界级的足球俱乐部,需要伟大的球衣,雄厚的资金,优质的球场草皮抽象一个足球队的工厂接口,FootBallTeamFactory,里面3个方法接口Player,Money,Place原创 2017-06-09 18:21:16 · 542 阅读 · 0 评论 -
设计模式(十一)桥接模式
桥接模式:可以取代多层继承的方案。多层继承违背了单一职责原则,复用性较差,类的个数也非常多。桥接模式可以极大的减少子类的个数,从而降低管理和维护的成本。桥接模式极大的提高了系统可扩展性,在两个变化维度中任意扩展一个维度,都不需要修改原有的系统,符合开闭原则。未使用桥接的代码:public interface Product { public void advertise();原创 2017-06-20 18:14:07 · 253 阅读 · 0 评论 -
设计模式(二) 简单工厂模式
简单工厂模式(静态工厂方法模式)定义:定义一个具体的工厂类负责创建一些类的实例。创建一个食品抽象类Foodpublic abstract class Food { public abstract void use();}创建一个小吃类Eat继承Foodpublic class Eat extends Food { @Override public原创 2016-11-05 13:53:39 · 313 阅读 · 0 评论 -
设计模式(一) 单例设计模式
单例设计模式:定义:保证类在内存中只有一个对象。步骤:1.私有构造方法2.创建唯一对象3.对外仅提供访问方法 懒汉式与饿汉式 两者区别: 饿汉式:空间换时间;懒汉式:时间换空间 饿汉式:线程安全;懒汉式:线程不安全/** * 饿汉式:先创建实例,再返回 * @author Clark * */class SingletonByH原创 2016-11-05 11:39:53 · 300 阅读 · 0 评论 -
设计模式(三) 工厂方法模式
工厂方法模式定义:抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现优缺点:优点:客户端不需要负责对象的创建,如果有新对象增加,只需要添加具体类和具体工厂类即可缺点:增加新对象的话,代码量增大具体代码如下:食物抽象类:public abstract class Food { public abstract void原创 2016-11-05 15:17:56 · 369 阅读 · 0 评论 -
设计模式(四)适配器设计模式
适配器设计模式定义:将多个类的方法抽象到一个接口中,然后通过原创 2016-11-05 21:50:13 · 308 阅读 · 0 评论