设计模式
文章平均质量分 75
L_i_n_o
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
定义定义一个工厂类,它可以根据传入参数的不同来对不同的产品类进行实例化。被创建的产品类通常具有共同的父类。设计模块通常如下几部分:抽象产品类(或者接口):通常为将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中(产品类中提取出来公共业务方法)具体产品类:创建不同的产品工厂类:根据传入的产品参数的不同,来实例化对应的产品类应用场景客户端不知道它要创建的具体是哪一个...原创 2018-08-12 02:39:11 · 236 阅读 · 0 评论 -
策略模式
定义它定义了算法家族,分别封装起来,让他们之间可以互相交换,此模式让算法的变化,不会影响到使用算法的用户找出变化点,封装变化点是我们面向对象的一种重要的思维方式应用场景1.针对同一类型问题的多种处理方式,仅仅是具体行为有差别时; 2.需要安全地封装多种同一类型的操作时; 3.出现同一抽象类有多个子类,而又需要使用 if-else 或者 switch-case 来选择具体子类时。...原创 2018-08-20 11:19:06 · 170 阅读 · 0 评论 -
代理模式(Proxy)
定义代理模式,为其它对象提供一种代理以控制对这个对象的访问应用场景1.远程代理:也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。 当客户端对象需要访问远程主机中的对象时可以使用远程代理。2.虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。 当需要用一个消耗资源较少的对象来代表一个消耗资源较多的对象...原创 2018-09-11 11:46:57 · 333 阅读 · 0 评论 -
工厂方法模式(Factory Method)
定义工厂方法模式:定义一个用于创建对象的接口,让子类确定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类例如:计算器设计 应用场景工厂模式是把项目当中的变化点抽取封装出来.至于哪些是变化点,哪些该抽象需要开发者自行观察和预测.类不知道自己要创建哪一个对象类用它的子类来指定创建哪个对象客户需要清楚创建了哪一个对象实例abstract class Car...原创 2018-09-12 10:48:31 · 234 阅读 · 0 评论 -
装饰者模式(Decorator)
定义装饰模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活Component:是定义一个对象接口,可以给这些对象动态的添加职责。ConcreteComponent:是定义了一个具体的对象,也可以个这个对象添加一些职责。Decorator:装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,...原创 2018-09-10 15:10:57 · 321 阅读 · 0 评论