设计模式是一套被人们反复使用的方法,基于面向对象编程. 设计原则 单一职责原则 一个类承担职责越少,复用可能性越高 开闭原则 对扩展开放,对修改关闭;在不修改原有代码前提下扩展新的功能. 里氏代换 里氏代换原则可以通俗表述为:在软件中如果能够使用基类对象,那么一定能够使用其子类对象。因此在程序中尽量 ...
分类:
其他好文 时间:
2020-06-29 00:17:24
阅读次数:
57
单例模式:使类只有一个实例对象的设计模式称为单例模式。 单例模式作用:1)节省内存空间 2)业务需求(有些类必须只有一个实例) 单例的实现的几个步骤: 1)构造方法私有化(别人不能通过new来创建这个对象) 2)在类的内部创建单例对象 3)通过public方法提供这个单例对象 单例模式的实现方式: ...
分类:
其他好文 时间:
2020-06-29 00:01:05
阅读次数:
62
六月箴言 走好选择的路,别选择好走的路,你才能拥有真正的自己。—— 杨绛 第十三章 真实世界中的模式 定义设计模式 模式是在某情景下,针对某问题的某种解决方案。 情景就是应用某个模式的情况。这应该是会不断出现的情况。 问题就是你想在某情景下达到的目标,单也可以是某情景下的约束。 解决方案就是你所追求 ...
分类:
其他好文 时间:
2020-06-28 22:22:25
阅读次数:
61
####单例(Singleton)设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。“套路 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存 ...
分类:
其他好文 时间:
2020-06-28 20:55:00
阅读次数:
46
1、定义:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 2、代码实现 /** * 抽象中介者 */ public abstract class AbstractMediator { protected Purchase ...
分类:
编程语言 时间:
2020-06-28 20:50:47
阅读次数:
80
与设计模式相处 定义设计模式 模式时在某情境下,针对某问题的某种解决方案 情境,就是应用某个模式的情况,这应该是会不断出现的情况。 问题,就是你想在某情境下达到的目标,但也可以是某情境下的约束。 解决方案,就是你说追求的一个通用的设计,用来解决约束、达到目标。 如果你发现自己处于某个情境下,面对着所 ...
分类:
其他好文 时间:
2020-06-28 20:49:13
阅读次数:
44
策略模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图:定义一系 ...
分类:
其他好文 时间:
2020-06-28 18:45:49
阅读次数:
49
模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变 ...
分类:
其他好文 时间:
2020-06-28 18:35:06
阅读次数:
64
组合模式以及HashMap的设计分析(不包括具体实现,只讲述了HashMap应用到组合模式的场景,之后会单独再写一个JAVA集合类的具体实现专题) ...
分类:
其他好文 时间:
2020-06-28 15:26:46
阅读次数:
62
1. 抽象基类:类中定义抽象一些方法,用以在子类中实现 2. 继承自抽象基类的子类:实现基类中的抽象方法 3. 工厂类:用以实例化调用所有相对应的子类 通过采用面向对象的继承特性,可以很容易就能对原有程序进行扩展,比如:‘乘方’,‘开方’,‘对数’,‘三角函数’,‘统计’等,以还可以避免加载没有必要 ...
分类:
Web程序 时间:
2020-06-28 15:12:14
阅读次数:
73