一、什么是设计模式? “每一个模式都描述了一个在我们周围不断 重复 发生的问题,以及该问题的 解决方案的核心 。这样,你就能一次又一次地使用该方案而 不必做重复劳动 ”。 ——Christopher Alexander 设计模式的目标就是: 可复用 。 二、从面向对象谈起 ...
分类:
其他好文 时间:
2019-01-08 21:04:42
阅读次数:
89
LZ想把简单工厂模式、工厂方法模式和抽象工厂模式整理到一篇博文当中,由浅入深,应该能方便理解和记忆,话不多说,进入正题。 一、简单工厂模式 定义:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之 ...
分类:
其他好文 时间:
2019-01-06 10:44:41
阅读次数:
160
设计模式的分类 根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种: ? 创建型模式主要用于创建对象。 ? 结构型模式主要用于处理类或对象的组合。 ? 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。 根据 ...
分类:
其他好文 时间:
2019-01-05 00:51:31
阅读次数:
144
软间的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: ?过于僵硬(Rigidity) ?过于脆弱(Fragility) ?复用率低(Immobility) ?黏度过高(Viscosity) ...
分类:
其他好文 时间:
2019-01-05 00:50:27
阅读次数:
192
单例模式属于java设计模式的一种,最常见实现方式有以下几种 懒汉、饿汉、双重检查单例、静态内部类单例。 单例模式的特点: 1:单例类只能有一个实例 2:单例类的唯一实例化必须由自己完成 3:单例类给其他对象提供唯一实例 ...
分类:
编程语言 时间:
2018-12-31 17:31:49
阅读次数:
204
本文可能是你看过的最易懂的访问者设计模式的文章之一,以示例为基础,不断演化,深入访问者模式的内核,给出了访问者模式的意图,结构,示例代码。 ...
分类:
其他好文 时间:
2018-12-27 18:40:15
阅读次数:
149
在我们可以深入学习AbstractQueuedSynchronizer(AQS)之前,必须具备了volatile、CAS和模板方法设计模式的知识,本文主要想从AQS的产生背景、设计和结构、源代码实现及AQS应用这4个方面来学习下AQS 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Sp ...
分类:
编程语言 时间:
2018-12-27 15:35:30
阅读次数:
156
一、C#多态的特性使得设计模式成为可能 二十多种设计模式的都是基于多态 二、多态的表现形式 1.普通类 子类能够继承父类的所有成员(父类的私有成员子类对象不能直接访问到),包括父类实现的接口已经父类继承的其他类的成员。 将方法标记为virtual,表示子类可以重写这个方法(当然也可以不重写); 将方 ...
分类:
Web程序 时间:
2018-12-27 13:25:08
阅读次数:
183
1.定义 Command模式也叫命令模式,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数。 2.命令模式的应用场景 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是: 创建目标对象实例 设置调用参数 调用目标对象的方法 ...
分类:
其他好文 时间:
2018-12-25 12:24:25
阅读次数:
185
举个栗子:比如你结婚,婚庆公司帮你代理一些事情(布置婚房,准备午餐等),虽然婚前公司做的,但是是为你而做的静态代理的设计模式的三要素:1.真实角色2.代理角色:代理角色需要具有真实角色的引用,这样才能实现对真实角色的代理3.真实角色和代理角色要实现共同的接口看个样例:Staticproxy.java... ...
分类:
其他好文 时间:
2018-12-24 18:13:24
阅读次数:
117