
设计模式
lisa890608
这个作者很懒,什么都没留下…
展开
-
观察者模式(监听器模式
以前学习过《设计模式》,现在已经忘得差不多了,虽然知道一些模式的作用和意义,但是对他们的具体实现和应用场景不甚了解,故将工作中遇到的一些模式整理一下,加深理解。 观察者模式基本概念 观察者模式(Observer),也称发布/订阅模式; 观察者模式是软件设计模式的一种。在此模式中,一个目标(被观察者)管理所有相依于它的观察者,并且在它本身的状态改变时主动转载 2012-11-21 11:14:43 · 505 阅读 · 0 评论 -
回调函数的作用与实现
简介 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。转载 2013-01-14 16:04:31 · 384 阅读 · 0 评论 -
反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还是拿人家经常举的一个例子讲解一下吧:比如说,我们现在要开发的一个应用里面有很多的业务方法,但是,我们现在要对这个方法的执行做全面监控,或部分监控.也许我们就会在要一些方法前去加上一条日志记录,我们写个例子看看我们最简单的解决方案我们先写一个接口IHell转载 2012-12-12 12:25:11 · 378 阅读 · 0 评论 -
spring依赖注入的实现原理
SpringBean框架配置管理设计模式 Spring 从核心而言,是一个DI 容器,其设计哲学是提供一种无侵入式的高扩展性框架。即无需代码中涉及Spring专有类,即可将其纳入Spring容器进行管理。作为对比,EJB则是一种高度侵入性的框架规范,它制定了众多的接口和编码规范,要求实现者必须遵从。侵入性的后果就是,一旦系统基于侵入性框架设计开发,那么之后任何脱离这个框架的企图转载 2012-12-12 16:00:49 · 596 阅读 · 0 评论 -
适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 3.2 需要适配的类转载 2012-12-11 16:19:06 · 340 阅读 · 0 评论 -
抽象工厂模式
1. 概述 抽象工厂模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对应的系列来创建一个具体的工厂类别。2. 抽象工厂模式中的角色 2.1 抽象工厂(AbstractFactory):担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。 2.2 具体工厂(ConcreteFactory):这个角色直接在客户端转载 2012-12-11 10:08:17 · 352 阅读 · 0 评论 -
工厂方法模式
1. 概述: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。2. 模式中的角色 2.1 抽象工厂(Creator):这个抽象类(或接口)声明一个创建对象的工厂方法,用来返回一个Product类型的对象。 2.2 具体工厂(ConcreteCreator):重定义工厂方法,返回一个具体的Concrete Product实例。 2转载 2012-12-11 10:07:00 · 369 阅读 · 0 评论 -
简单工厂模式
1. 概述: 将一个具体类的实例化交给一个静态工厂方法来执行,它不属于GOF的23种设计模式,但现实中却经常会用到2. 模式中的角色 2.1 工厂类(Simple Factory): 只包含了创建具体类的静态方法。 2.2 抽象产品(Product):定义简单工厂中要返回的产品。 2.3 具体产品(ConcreteProduct):具体产品。3. 模式解读 3转载 2012-12-11 10:05:49 · 390 阅读 · 0 评论 -
代理模式
定义 1. 概述 为其它对象提供一种代理以控制对这个对象的访问。 解决的问题:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。2. 模式中的角色 2.1 抽象实体(Subject):定义了真实实体(RealSubject)和代理(Proxy)的公共接口,这样转载 2012-12-11 09:59:09 · 391 阅读 · 0 评论 -
观察者模式
1. 概述 有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。2. 解决的问题 将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。观察转载 2012-12-11 10:03:38 · 327 阅读 · 0 评论 -
适配器模式
设计模式学习笔记-适配器模式1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。3. 模式中的角色 3.1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以转载 2012-12-11 09:59:51 · 420 阅读 · 0 评论 -
抽象工厂模式解析例子
抽象工厂模式中的有以下的四种角色: 抽象工厂(Abstract Factory)角色:担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。具体工厂(Concrete Factory)角色:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。抽象产品(Abstract Prod转载 2013-02-18 15:13:25 · 418 阅读 · 0 评论