
设计模式
设计模式
抓手
这个作者很懒,什么都没留下…
展开
-
Spring源码中的设计模式
工程模式:Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象。 单例模式:Spring依赖注入Bean实例默认是单例的。Spring的依赖注入(包括lazy-init方式)都是发生在AbstractBeanFactory的getBean里。getBean的doGetBean方法调用getSingleton进行bean的创建。 装饰器模式:Spring中用到的包装器模式在类名上有两种表现:一种是类名中含有Wrapper,另一种是类名中含有Decorato原创 2021-04-18 11:42:02 · 625 阅读 · 3 评论 -
设计模式之外观模式(Facade)
定义:外观模式是软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口。这一接口使得子系统更加容易使用。 controller和dao之间的service层就是facade. 先定三个接口 public interface Sub1 { void function1(); } public interface Sub2 { void function...原创 2019-05-29 10:20:25 · 474 阅读 · 0 评论 -
设计模式之三种工厂模式(Factory)
简单工厂模式(Static Factory Method) 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。(百度百科) 代码示例 定义接口 public in...原创 2019-05-08 09:12:23 · 364 阅读 · 0 评论 -
设计模式之代理模式 (Proxy)
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。(百度百科) 静态代理 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类. 定义接口 public interface UserService { void...原创 2019-05-05 10:09:53 · 209 阅读 · 0 评论 -
设计模式之策略模式(Strategy)
策略模式基本定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 策略模式使用场景 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。 一个系统需要动态地在几种算法中选择一种。例如:消息的发送方式选择,不同银行充值的选择 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语...原创 2019-04-28 13:23:20 · 612 阅读 · 0 评论 -
设计模式之单例模式(Singleton)
简单的单例模式,在并发环境下会出现多个实例 public class EasySingleton { //一个静态的实例 private static EasySingleton easySingleton; //私有化构造函数 private EasySingleton(){ } //给出一个公共的静态方法返回一个单一实例 pub...原创 2019-03-11 14:48:44 · 167 阅读 · 0 评论 -
设计模式之模板方法模式(Template Method)
模板方法模式的运用非常广泛,JDK的类加载器、Spring的IOC都有使用模板方法模式。 模板方法模式:一般是为了统一子类的算法实现步骤,父类定义了框架(调用哪些方法及顺序),某些特定方法由子类实现。 父类模板方法中有两类方法: 1、共同的方法:所有子类都会用到的代码 2、不同的方法:子类要覆盖的方法,分为两种: A、抽象方法:父类中的是抽象方法,子类必须覆盖 B、钩子方法:...原创 2019-01-25 15:23:45 · 248 阅读 · 0 评论