
GOF 设计模式
福州司马懿
大家如果觉得文章有帮助,给我个关注。谢谢大家 (+_+),失业了球介绍工作
展开
-
为什么要使用代理模式
转自 http://www.cnblogs.com/silverLee/archive/2010/02/05/1664577.html代理这个词大家肯定已经非常熟悉,因为现实中接触的很多,其实现实中的东西恰恰可以非常形象和直观地反映出模式的抽象过程以及本质。现在房子不是吵得热火朝天吗?我们就以房子为例,来拨开代理的面纱。假设你有一套房子要卖,一种方法是你直接去网上发布出售信息,然后直接带要买房...转载 2018-12-13 09:49:24 · 1281 阅读 · 0 评论 -
Spring AOP 和 动态代理
转自:https://blog.csdn.net/eson_15/article/details/84933442我们知道,Spring 中 AOP 是一大核心技术,也是面试中经常会被问到的问题,最近我在网上也看到很多面试题,其中和 Spring AOP 相关的就有不少,这篇文章主要来总结下相关的技术点,希望对大家有用。0. 几个常见的问题针对这一块的东西,一般下面几个问题面试官问的比较多:...转载 2018-12-13 09:42:31 · 1183 阅读 · 1 评论 -
设计模式六大原则——迪米特法则(LoD,Law of Demeter)
转自 http://baike.baidu.com/item/%E8%BF%AA%E7%B1%B3%E7%89%B9%E6%B3%95%E5%88%99 转自 http://blog.csdn.net/zhengzhb/article/details/7296930简介迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就转载 2016-11-15 23:46:12 · 1966 阅读 · 0 评论 -
设计模式六大原则—— 单一职责原则(SRP,Single Responsibility Principle)
简介单一职责原则(SRP,Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir Page-Jones的著作中的转载 2016-11-15 11:43:15 · 1750 阅读 · 0 评论 -
设计模式六大原则——接口隔离原则(ISP,Interface Segregation Principle)
转自百度百科 http://baike.baidu.com/view/1638378.htmISP(Interface Segregation Principle)简介使用多个专门的接口比使用单一的总接口要好。一个类对另一个类的依赖性应当是建立在最小的接口上的。一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,会形成一个臃肿的大接口,这是对角色和接口的污染。“转载 2016-11-14 15:51:08 · 1435 阅读 · 0 评论 -
设计模式六大原则——依赖倒置原则(DIP,Dependence Inversion Principle)
转自百度百科 http://baike.baidu.com/view/2503920.htm概述依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。意图面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块转载 2016-11-14 14:12:10 · 1289 阅读 · 0 评论 -
设计模式六大原则——里氏代换原则(LSP,Liskov Substitution Principle)
里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与转载 2016-11-12 22:05:43 · 1425 阅读 · 0 评论 -
设计模式六大原则——开闭原则(OCP,Open Close Principle)
简介开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction)》中提出了开闭原则,它的原文是这样:“Software entities should be ope转载 2016-11-10 20:10:34 · 2893 阅读 · 0 评论 -
UML类图的几种关系和序列图总结
转自 UML类图几种关系的总结 http://blog.csdn.net/tianhai110/article/details/6339565转自 UML序列图总结 http://blog.csdn.net/tianhai110/article/details/6361338在UML的类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization转载 2016-11-09 23:39:51 · 8425 阅读 · 0 评论 -
Java 单例模式的八种写法比较
转自 http://tianweili.github.io/blog/2015/03/02/singleton-pattern/单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到饿汉式和懒汉式这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允转载 2016-11-09 19:18:09 · 1401 阅读 · 0 评论 -
Java中23种常见的设计模式
转自 http://geek.csdn.net/news/detail/112634?ref=myreadJava总共有23中常见的设计模式。它们主要可以分为3类,创建型,结构型以及行为型。 创建型的设计模式有:一、Singleton,单例模式:保证一个类只有一个实例,并提供一个唯一的全局访问点。二、Abstract Factory,抽象工厂:提供一个创建一系列相关或者互相依赖的对象的接口,而无转载 2016-11-03 19:12:30 · 1353 阅读 · 0 评论 -
Java 回调函数 与 观察者模式
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。回调函数应该属于观察者模式的一种,目的是为了替代轮原创 2016-10-10 15:11:44 · 2207 阅读 · 0 评论 -
Java设计模式23种(搞笑版)
转自http://blog.sina.com.cn/s/blog_657572dc0100sh41.html 昨天做了一下支付宝的笔试题目被打击了,大量的逻辑推理和数学规律运算题目,其中还有问道Java设计模式的题目,一点都不知道,今天看到一份不错的介绍,非常好理解,作者是谁我没有办法考证,但是所有权是属于原作者的,我只是放在这里,便于自己理解查找,也便于大家查找,没有任何商业用途! 作转载 2016-08-17 09:50:41 · 2442 阅读 · 0 评论 -
Java开发中的23种设计模式详解
转自 http://zz563143188.iteye.com/blog/1847029设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易转载 2016-08-17 09:46:37 · 1717 阅读 · 0 评论 -
我们为什么要使用空接口
转自 http://www.cnblogs.com/shanyou/archive/2005/10/22/259674.htmlFxCop设计规则中的第三条提供了对空接口的检查.下面是它的描述: 一个接口提供了一组行为和使用契约(usage contract),任何一个类型都可以实现这个Interface, 而不需要考虑这个类型的继承层次。一个类型通过实现接口的成员而实现这个接口。一个空的接口没有定转载 2016-08-16 17:30:46 · 5169 阅读 · 0 评论 -
轻量级模式(Flyweight Pattern)
转自 http://www.cnblogs.com/chengxingliang/archive/2011/10/12/2200444.html五个角色:抽象轻量级类(Flyweight)、具体轻量级类(ConcreteFlyweight)、不共享具体轻量级类(UnsharedConcreteFlyweight)、轻量级类工厂(FlyweightFactory)、客户端(Client)转载 2016-07-25 16:59:41 · 1286 阅读 · 0 评论