Java 设计模式
已改行
溜了溜了
展开
-
Java 设计模式(十一)命令模式
一、介绍 命令模式:将一个请求封装为对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。也称为:动作(Action)模式、事务(transaction)模式。 二、模式结构 Command抽象命令类: 声明执行操作的接口。 ConcreteComand具体命令类:通常持有 一个接收者对象并绑定于一个动作, 调用接收者相应的操作,以实现e...原创 2018-07-16 21:08:10 · 120 阅读 · 0 评论 -
Java 设计模式(九)策略模式
一、定义 策略(strategy)模式属于对象的行为模式。其用途是针对一组算法,将每个不同算法封装到具有共同接口的独立类中,从而使他们可以相互替换。即使 算法和对象分开来,使得算法可以独立于使用它的客户而变化。 二、场景 某个市场人员接到单后的报价策略。报价策略很复杂,可以简单作如下分类: 普通客户小批量,不打折 普通客户大 批量,打9折 老 客户小批量,打8.5折 老 客户...原创 2018-07-15 20:58:04 · 151 阅读 · 0 评论 -
Java 设计模式(八)观察者模式
一、定义 观察者模式定义了一个一对多的依赖关系,让多个观察者对象同时监听同一个主题对象。当这个主题状态发生改变时,会通知所有观察者对象,让它们自动更新自己。 二、类似场景 聊天室程序的创建。服务器创建好后,A、B、C三个客户端连接好公开聊天。A向服务器发送数据,服务器在将数据分别发送给其他在线客户。也就是说,每个客户端需要更新服务器端的数据。 网站上,很多人订阅了“Java主题”的...原创 2018-07-15 18:25:46 · 152 阅读 · 0 评论 -
Java 设计模式学习推荐
基础知识 设计模式概述 从招式与内功谈起——设计模式概述(一):设计模式从何而来? 从招式与内功谈起——设计模式概述(二):设计模式是什么? 从招式与内功谈起——设计模式概述(三):设计模式有什么用?附:个人观点   面向对象设计原则 面向对象设计原则概述 面向对象设计原则之单一职责原则 面向对象设计原则之开闭原则 面向对象设计原则之里氏代换原则 面向对象设计原则之...原创 2018-07-15 15:57:06 · 2034 阅读 · 0 评论 -
Java 设计模式(七)外观模式
一、定义 外观模式(也称为门面模式)定义了一个高层接口,为子系统中的一组接口提供了一个一致的界面,从而使得这一组子系统更加容易使用。 这个模式很好的遵循了迪米特法则(最少知识法则),即一个软件应当尽可能少的与其他实体发生相互作用。 二、举例 医院例子: 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把...原创 2018-07-15 15:51:31 · 121 阅读 · 0 评论 -
Java 设计模式(六)组合模式
一、组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式对部分对象和整...原创 2018-07-15 15:15:11 · 175 阅读 · 0 评论 -
Java 设计模式(五)适配器模式
+一、适配器模式定义 适配器模式,把一个类接口变化成客户端所期待的另一个类的接口,使原来因接口不匹配而无法一起工作的类能够一起工作。 二、适配器模式举例 1.生活中例子: 用电器做例子,一个电器的插头只有两相,而有些地方的电源插座却只有三相。电源插座与电器的电源插头不匹配使得电器无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本模式所做的事情。 2.J...原创 2018-07-15 14:38:45 · 135 阅读 · 0 评论 -
Java 设计模式(四)代理模式
简介 Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:中介。 代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式包含如下角色: ISubject:抽象主题角色,是一个接口。该接口是对象和它的代理共用的接口。 RealSubject:真实主题角色,是...原创 2018-07-15 12:54:41 · 160 阅读 · 0 评论 -
Java 设计模式(三)工厂模式
一 工厂模式介绍 1.1 工厂模式的定义 先来看一下GOF为工厂模式的定义: “Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subcl...原创 2018-07-13 17:17:53 · 150 阅读 · 0 评论 -
Java 设计模式(二)单例模式
一 单例模式简介 1.1 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1.2 为什么要用单例模式呢? 在我们的系统中,有一些对象其实我们只需要一个,比如说:线程池、缓存、对话框、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象。事实上,这一类对象只能有一个实例,如果制造出多个实例就可能会导致一些问题的产生,比如:程序的行为异常、资源使用过量、或者不一致性的结果。 ...原创 2018-07-13 14:11:04 · 130 阅读 · 0 评论 -
Java 设计模式(一)简介
设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性...原创 2018-07-12 20:31:24 · 119 阅读 · 0 评论 -
Java 设计模式(十)迭代器模式
一、场景 对于学习了Java的同学来说,“迭代”这个词并不会陌生,我们经常使用Iterator接口对Collection下的集合类进行遍历,常见代码: Iterator iterator=list.iterator(); while(iterator.hasNext()){ //进行遍历 } 这便是很好的迭代器模式应用例子。我们可以在不暴露集合类的内部结构情况下,通过迭代器让外部客户...原创 2018-07-15 21:33:58 · 97 阅读 · 0 评论