
设计模式
Alone枫叶
世界上有10种人,一种懂二进制,一种不懂二进制。
展开
-
单例设计模式
单例模式(Singleton Pattern)确保某一个类只有一个示例,并能自行实例化向整个系统提供这个示例,这个类称为单例类,它提供全局访问的方法,单例模式是一种对象创建型模式。单例模式的要素1. 某个类只能有一个实例2. 它必须自行创建这个实例3. 必须自行向整个系统提供这个实例单例模式的作用1. 控制资源的使用,通过线程同步来控制资源的并发访问2. 控制实例产生的速度,达...原创 2019-01-01 01:00:57 · 159 阅读 · 0 评论 -
装饰设计模式
装饰设计模式基本概念装饰模式是一种用于替代继承的技术,使用对象之间的关联关系取代类之间的继承关系,IO流中的Buffered类就是一个很好的例子。(1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。(2) 装饰对象包含一个真实对象的引用(reference)(3) 装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。(4) 装饰对...原创 2019-01-13 20:34:30 · 168 阅读 · 0 评论 -
设计模式入门
设计模式总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。设计模式的六大原则...原创 2019-04-10 20:49:50 · 185 阅读 · 0 评论 -
工厂方法与抽象工厂模式
工厂方法模式工厂方法(FactoryMethod)模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。1. 模式的结构工厂方法模式的主要角色如下。抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。...原创 2019-04-10 19:50:35 · 293 阅读 · 0 评论 -
java动态代理中的invoke方法是如何被自动调用的(转)
一、动态代理与静态代理的区别。(1)Proxy类的代码被固定下来,不会因为业务的逐渐庞大而庞大;(2)可以实现AOP编程,这是静态代理无法实现的;(3)解耦,如果用在web业务下,可以实现数据层和业务层的分离。(4)动态代理的优势就是实现无侵入式的代码扩展。 静态代理这个模式本身有个大问题,如果类方法数量越来越多的时候,代理类的代码量是十分庞大的。所以引入动态代理来解决此类...转载 2019-06-12 21:50:02 · 1084 阅读 · 0 评论 -
适配器模式
软件设计中可能出现,需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它与当前系统的接口规范不兼容,如果重新开发这些组件的成本又很高,这时使用适配器模式就可以很好的解决这个问题。定义与特点适配器模式(Adapter)定义:将一个类的接口转换成期望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式,前者类之间的耦合...原创 2019-05-29 21:39:38 · 182 阅读 · 0 评论