![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
绝地反击T
世界那么大,我想去看看。
展开
-
单例模式的Java代码体现Runtime类(JDK提供的类)
Runtime类的源代码部分如下: /*Runtime类的部分源代码,给别人吹牛的小资本 *public class Runtime{ * private Runtime(){} * private static Runtime currentRuntime = new Runtime(); * public static Runtime getRuntime(){ *原创 2015-05-02 12:10:09 · 1818 阅读 · 0 评论 -
单例设计模式之安全的懒汉式
package 单例模式; /** * 单例设计模式之安全的懒汉式 */ class Single{ private static Single single= null; //私有构造方法 private Single() { } //对外提供公有的获取内部创建的Single对象 public static Single getInstance(){ if(single==n原创 2015-07-16 09:57:04 · 805 阅读 · 0 评论 -
转:设计模式6大原则
单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责转载 2015-05-21 17:38:15 · 521 阅读 · 0 评论 -
适配器模式以及为什么允许声明没有抽象方法的类为抽象类?
就以适配器类来说吧 MouseAdapter是抽象类,但是没有抽象方法 (如果他不是抽象的)直接实例化这个类没有没有任何意义 既然我们需要使用这个类,就必然会覆盖某个方法,但又不知道是哪个方法,因此只有将类声明为抽像的 使用者根据需要来覆盖方法 一个没有抽象方法的抽象类一般来讲都会有诺干空的方法,这些方法不是必须要实现的,但是如果都不去实现这些方法,那这个类就没有什么意义了。原创 2015-05-17 18:47:47 · 1326 阅读 · 0 评论 -
Java设计模式之简单工厂模式
设计模式之简单工厂举例: l简单工厂模式概述 •又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例 l优点 •客户端不需要在负责对象的创建,从而明确了各个类的职责 l缺点 这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护 概述: 动物抽象类:public abstract Animal原创 2015-05-01 19:43:46 · 524 阅读 · 0 评论 -
设计模式概述及23中常用设计模式
l设计模式的几个要素 • 名字 必须有一个简单,有意义的名字 • 问题 描述在何时使用模式 • 解决方案 描述设计的组成部分以及如何解决问题 • 效果 描述模式的效果以及优缺点 l设计模式的分类 • 创建型模式 对象的创建 • 结构型模式 对象的组成(结构) • 行为型模式 对象的行为 创建型模式:简单工厂模式,工厂方法模原创 2015-05-01 19:43:08 · 613 阅读 · 0 评论 -
Java设计模式之工厂方法模式
l工厂方法模式概述 •工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 l优点 •客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性 l缺点 •需要额外的编写代码,增加了工作量 动物抽象类:publicabstract A原创 2015-05-01 20:55:34 · 513 阅读 · 0 评论 -
转:Java之面向对象思想设计原则
l面向对象思想设计原则 •在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 •单一职责原则 •开闭原则 •里氏替换原则 •依赖注入原则 •接口分离原则 •迪米特原则 l单一职责原则 •其实就是开发人员经常说的”高内聚,低耦合” •也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个转载 2015-05-01 19:39:24 · 722 阅读 · 0 评论 -
转:JAVA设计模式之单例模式
本文继续介绍23种设计模式系列之单例模式。 概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在转载 2015-05-04 10:30:59 · 453 阅读 · 0 评论 -
Java设计模式之模板方法模式或者说模板设计模式(属于行为型)
抽象类,不变的代码写了,要变化的部分留给子类去实现: package 行为型_模板方法模式; //模板设计模式的意思是把不变定位部分写出来,变化的部分留给子类去实现 public abstract class GetTime { public long getTime() throws Exception{ long start = System.currentTimeMillis();原创 2015-05-02 17:03:28 · 837 阅读 · 0 评论 -
Java设计模式之单例模式之登记式单例
package 创建型_单例模式_登记式; import java.util.HashMap; import java.util.Map; /** * 登记式单例实际上维护的是一组单例类的实例,将这些实例存储到一个Map(登记簿) * 中,对于已经登记过的单例,则从工厂直接返回,对于没有登记的,则先登记,而后 * 返回 * @author pp * */ public class原创 2015-05-02 21:25:32 · 2877 阅读 · 0 评论 -
Java设计模式之单例模式(恶汉式和懒汉式)
/* * 单例模式: * 饿汉式:类一加载就创建对象 * 懒汉式:用的时候,才去创建对象 * 面试题:单例模式的思想是什么?写一个代码体现(我们最好写懒汉式的单例模式给面试官,这个才是他想要的答案) * 开发使用:恶汉式(是不会出问题的单例模式) * 面试时写懒汉式(可能会出现问题的单例模式) *原创 2015-05-02 08:47:38 · 7126 阅读 · 0 评论 -
java设计模式之代理模式程序举例
代理模式: 所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式是一种结构性设计模式。当客户端不想直接调用主题对象,而希望主题对象的行为前后加上预处理或者后续处理时,则可以使用代理模式。 代理模式的三种角色:主题抽象类、实际主题类、代理类。 主题抽象类: p原创 2015-08-18 14:56:23 · 831 阅读 · 0 评论