设计模式
FixedStarHaHa
这个作者很懒,什么都没留下…
展开
-
(1.1)工厂模式之简单工厂
转载:https://www.2cto.com/kf/201807/758535.html工厂模式的核心思想,就是解耦“需求”“工厂”和“产品”。场景:GG请自己的女朋友和众多美女吃饭,但是GG自己不会做饭的或者做的饭很不好,这说明GG不用自己去创建各种食物的对象;各个美女都有各自的爱好,到麦当劳后她们喜欢吃什么直接去点就行了,麦当劳就是生产各种食物的工厂,这时候GG不用自己动手...转载 2019-03-16 19:52:17 · 197 阅读 · 0 评论 -
(5.1)代理模式之静态代理
一、模式的使用场景就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、 主要作用通过引入代理对象的方式来间接访问目标对象三、解决的问题防止直接访问目标对象给系统带来的不必要复杂性。四、代理模式包含的角色Subject:抽象主题角色。可以是接口,也可以是抽象类。 R...原创 2019-03-27 08:48:53 · 149 阅读 · 0 评论 -
(4)单例模式
懒汉式与饿汉式讲解https://blog.csdn.net/jiangshangchunjiezi/article/details/74597029JDK中单例模式应用 在JDK中java.lang.Runtime类,使用了饿汉式单例模式实现,保证了Runtime的唯一性。源码如下: public class Runtime { private stat...原创 2019-03-18 12:14:09 · 66 阅读 · 0 评论 -
(3.2)观察者模式应用之微信订阅号
转载:https://www.cnblogs.com/zishengY/p/8970961.html如上图所示,微信订阅号就是我们的主题,用户就是观察者。他们在这个过程中扮演的角色及作用分别是:订阅号就是主题,业务就是推送消息 观察者想要接受推送消息,只需要订阅该主题即可 当不再需要消息推送时,取消订阅号关注即可 只要订阅号还在,观察者可以一直去进行关注接下来让我们通过一段示...转载 2019-03-18 11:52:29 · 197 阅读 · 0 评论 -
(3.1)观察者模式
观察者模式本质上就是一种订阅/发布的模型,从逻辑上来说就是一对多的依赖关系。什么意思呢?好比是一群守卫盯着一个囚犯,只要囚犯一有异动,守卫就必须马上采取行动(也有可能是更新状态,本质上也是一种行动),那么守卫就是观察者,囚犯就是被观察者。 观察者模式又称为发布/订阅(Publish/Subscribe)模式,观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变...转载 2019-03-18 11:47:34 · 139 阅读 · 0 评论 -
(2.2)适配器之对象适配器
概念:适配器不继承特殊类了,而是把”特殊类”改成写在成员变量,构造时赋值,只需改这一点即可package com.yoodb;public class Adapter implements Target{ private Adaptee adaptee; @Override public void request() { // TODO Auto-genera...转载 2019-03-18 10:11:07 · 135 阅读 · 0 评论 -
(2.1)适配器模式之类适配器及应用
转载:https://blog.csdn.net/nzfxx/article/details/51771319通过继承适配器特殊类,并实现目标接口的方法1.Adapte:有特殊功能的(插座)类(但不满足我的插头)-特殊方法12.Target:目标(我的,标准的插头)”接口”-标准方法23.ConcreatTartet:目标(我的插头的)接口的具体实现”类”-标准方法24.Adapt...转载 2019-03-17 21:12:29 · 140 阅读 · 0 评论 -
(1.4)工厂模式应用场景
一、简单工厂模式在JDK中典型应用DriverManager是一个工厂类不同的数据库(MySql、Oracle)相当于具体的产品直接向工厂里传入具体产品的参数(而不用关系具体使用的是什么数据库),就能用静态方法连接到数据库的Connection String user="root"; String password="123456"; Strin...转载 2019-03-17 20:21:05 · 1541 阅读 · 0 评论 -
(1.3)工厂模式之抽象工厂模式
抽象工厂模式角色抽象工厂模式涉及到的系统角色(1)抽象工厂(AbstractFactory)角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关的。通常使用Java 接口或者抽象Java 类实现,而所有的具体工厂类必须实现这个Java 接口或继承这个抽象Java 类。(2)具体工厂类(Conrete Factory)角色:这个角色直接在客户端的调用下创建产品的实例。这个角...转载 2019-03-16 21:35:50 · 298 阅读 · 0 评论 -
(1.2)工厂模式之工厂方法模式
工厂方法模式角色分配:抽象工厂(Abstract Factory)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。 具体工厂(Concrete Factory)角色:这是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建某一种产品对象。 抽象产品(AbstractProduct)角色:工厂方法模式所创建的...原创 2019-03-16 21:08:31 · 1463 阅读 · 0 评论 -
(5.2)代理模式之动态代理
一、动态代理引入因静态代理的缺点(如果同时代理多个类,依然会导致类无限制扩展 如果类中有多个方法,同样的逻辑需要反复实现),则要用动态代理代理类在程序运行时创建的代理方式被称为动态代理。那么,我们是否可以使用同一个代理类来代理任意对象呢?我们以获取方法运行时间为例,是否可以使用同一个类(例如:TimeProxy)来计算任意对象的任一方法的执行时间呢?甚至再大胆一点,代理的逻辑也...转载 2019-03-27 09:43:49 · 83 阅读 · 0 评论