设计模式
众神之翼
努力背后是一颗等待收获的心
展开
-
46、设计模式之动态代理模式
代理模式分为两种,静态代理和动态代理,静态代理简单易懂,对于新手来说便于理解,但实际运用到项目中代码量以及维护量都是非常大的,在企业级项目中不推荐使用这种方式,用于学习或者做毕设还是可以的,本文中只阐述动态代理模式,记录在这用于加深自身理解,同时希望能对您有所帮助。 JDK动态代理 这种方式,只能对实现了接口的类生成代理,JDK动态代理采用委托机制,动态实现接口类,在动态生成的实现类...原创 2019-12-27 15:42:54 · 139 阅读 · 0 评论 -
25、设计模式之桥接模式
该模式特点是将抽象部分和具体实现分离,使其都可以独立的变化,进一步解耦合 抽象部分 /** * 账户 */ public interface Account { /** * 显示账户信息 */ void showAccount(); /** * 打印账户信息 */ void printAccount(); } ...原创 2018-11-16 15:42:56 · 120 阅读 · 0 评论 -
24、设计模式之享元模式
接口 public interface IEmployee { /** 签到 */ void sign(); } 会员 /** * 会员 */ public class Member implements IEmployee { private String name; public Member(String name) { th...原创 2018-10-31 11:11:38 · 150 阅读 · 0 评论 -
23、设计模式之适配器模式
接口 /** * 接口 */ public interface IHandler { void request(); } 原有业务 /** * 表单提交 */ public class RequestHandler implements IHandler{ @Override public void request() { System.o...原创 2018-10-29 17:16:45 · 126 阅读 · 0 评论 -
22、设计模式之装饰者模式
抽象商品类 /** * 商品 */ public abstract class AbstractGoods { public abstract String getName() ; public abstract Double getPrice(); } 抽象装饰者包装类 /** * 抽象装饰者包装类 */ public abstract class Abs...原创 2018-10-29 15:01:40 · 96 阅读 · 0 评论 -
21、设计模式之原型模式
import java.util.Date; public class Pig implements Cloneable { private String name; private Date birthday; public String getName() { return name; } public void setNam...原创 2018-10-23 14:06:05 · 111 阅读 · 0 评论 -
20、设计模式之单例模式-饿汉式
import java.io.Serializable; /** * 饿汉式-单例模式 * 实现Serializable接口,使其支持序列化与反序列化 */ public class HungrySingleton implements Serializable { private final static HungrySingleton instance; stat...原创 2018-10-22 16:46:58 · 122 阅读 · 0 评论 -
19、设计模式之单例模式-懒汉式
/** * 懒汉式-单例模式 * 多线程模式慎用,单例模式会失效,为解决这一问题,可以在静态方法上加“synchronized”表明锁住该类本身,同一时间点只有一个线程可以访问该方法 * 该方法虽然可以解决单例失效的问题,但却非常的消耗资源 */ public class LazySingleton { private static LazySingleton instance ...原创 2018-10-22 14:12:08 · 106 阅读 · 0 评论 -
15、设计模式之工厂方法模式
接口类 /** * 接口类 */ public interface Video { void printMe(); } 工厂接口类 /** * 工厂接口类 */ public interface VideoFactory { Video getVideo(); } 来新需求了!!! 加入:红色短视频 需要同时加入RedVideo 以及对应的RedVideoFa...原创 2018-10-16 16:58:44 · 118 阅读 · 0 评论 -
14、设计模式之简单工厂模式
介绍 在工厂模式中,我们创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 下面举例中创建了一个抽象父类 Video(可以理解为工厂生产产品的标准) , 子类继承它并实现了各自的方法,完成了标准化动 作。简单工厂模式,就好比我需要一件商品,可以直接从加工车间里面下订单,只需要告诉他们商品的名称,而不去关心商品是 如何做出来的。 /** * 父类 ...原创 2018-10-16 15:52:48 · 139 阅读 · 0 评论 -
18、设计模式之建造者模式
public class Course { /** 视频 */ private String video; /** 手札 */ private String article; /** PPT文档 */ private String ppt; /** 提问&&回答 */ private String qa; /...原创 2018-10-18 16:28:07 · 113 阅读 · 0 评论 -
17、设计模式之抽象工厂模式
抽象类 public abstract class Video { public abstract void produce(); } public abstract class Article { public abstract void produce(); } 简单描述下需求环境,这里模拟的课程信息,包含视频和手札,上面分别代表Video (视频) 和 Articl...原创 2018-10-18 12:41:31 · 104 阅读 · 0 评论