摘要:1、先举例下面的一个列子 下面看一个网上流传最广泛的例子:门和警报的例子:门都有open( )和close( )两个动作,此时我们可以定义通过抽象类和接口来定义这个抽象概念: 但是现在如果我们需要门具有报警alarm( )的功能,那么该如何实现?下面提供两种思路: 1)将这三个功能都放在抽象类里面,
阅读全文
摘要:1 观察者模式的原理,首先由一个主题,当主题发送变化的时候,通知该主题的订阅者 按照上面的分析我们来进行设计 1.抽象主题Subject 2.抽象观察者Obsever 3.具体主题WeatherData 主题:相当的经典,第一具体的主题和多个观察者的集合,当自己的天气发送变化的时候,调用观察者的 5
阅读全文
摘要:1 、简单工厂模式 调用者:如何没有使用工厂模式 如果使用简单工厂模式: 简单工厂的缺点: 下面我们来看工厂模式: 我们首先定义了工厂抽象类的接口: 抽象工厂模式: 比如一个汽车的一个产品族:包括汽车发动机、汽车座椅 汽车 轮胎 一个高端的汽车由高端发动机、高端座椅、高端轮胎构成
阅读全文
摘要:实际模式的使用: 反射和反序列化漏洞、多线程环境、CountDownLatch同步类的使用 5种单例模式中除了枚举式,其他都存在反射和反序列化的漏洞,下面来讲述一下: 下面是破解代码: 我们使用代码
阅读全文
摘要:我们来看一下不是有工厂模式的代码 上面就是使用简单工厂来实现数据的导出形式 当系统中的具体产品类不断增多时候,可能会出现要求工厂类根据不同条件创建不同实例的需求.这种对条件的判断和对具体产品类型的判断交错在一起,很难避免模块功能的蔓延,对系统的维护和扩展非常不利; 如果我们需要导出成XML形式 我们
阅读全文
摘要:适配器的插头 我们来看一下适配器的一个简单的代码案例 本质上就是对已经存在的功能进行封装,满足客户端心得需求 我们现在使用一个下面的功能。将日志文件保存到文件中 客户端的使用 现在在后面的开发中,我们需要使用数据库的形式来保存日志,最新的保存的日志使用最新的数据库的增加 删除 更新等四个接口,所以现
阅读全文
摘要:例如 你到政府部门去办事情,你需要到部门1办事情,然后再去部门2去办事情,后面有了一站式窗口之后,你只需要把表交给一站式窗口。一站式窗口在去部门1和部门2去办事情,客户不用和模块a和b打交道 案例2: 客户要自己组装电脑,客户需要自己去买cpu 去买电源 去买风扇灯,然后把电脑装起来,相当的麻烦 客
阅读全文
摘要:客户需要某个产品,客户直接和生成该产品的工厂打交道,工厂具体来负责产品的实现 上面这种存在一定的问题: 就是客户端在调用Api api = Factory.createApi(2);必须知道参数1 2 3的意思,可以采用下面的办法进行解决,我们通过配置文件来解决,这样客户端不需要内部的参数的意思了
阅读全文