Jason的专栏

谈泊明志,共享致远。

Java开发中的23种设计模式详解(转)

设计模式(Design Patterns)           ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于...

2018-08-16 08:52:55

阅读数 182

评论数 0

23种模式的比喻启发

创建型模式                 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory                 工厂...

2018-04-16 11:20:59

阅读数 159

评论数 0

观察者模式和发布/订阅模式的区别

在事件总线(EventBus)的架构设计中,用到了发布/订阅模式,但发现和观察者模式挺接近,有时容易发生混淆,现试图分清一下他们的关系。         观察者模式的角色为观察者(observer)和主题(subject)对象,observer需要观察subject时,需先到subject里面...

2018-03-06 18:48:07

阅读数 404

评论数 1

观察者模式

简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。  观察者模式的结构  观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish...

2018-03-03 12:28:02

阅读数 57

评论数 0

适配器模式

适配器模式:  将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本不兼容的类可以一起工作。类图:角色:-目标接口:Target 客户所期待的接口,目标可以是具体的或者抽象的类也可以是接口-需要适配的类Adaptee:-适配器 Adapter:通过包装一个需要适配的对象,把原接口...

2018-03-03 12:25:16

阅读数 48

评论数 0

原型模式

原型模式:   原型模式是一种创建型模式,通过复制已存在的实例来获得新的实例,而不是新建实例。被复制的实例就是所称的原型,这个原型是可定制的,短时间创建大量对象时,可以考虑使用原型模式Tip:原型模式中的拷贝分为浅拷贝和深拷贝:浅拷贝:对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用...

2018-03-03 12:20:50

阅读数 68

评论数 0

创建者模式Builder

创建者模式:     分离对象子组件的单独构造(由Builder来负责)和装配(由Director负责),对象的构造比较复杂时使用 该模式。类图:Builder 抽象建造者接口,规范各个组成部分的构建。  ConcreteBuilder 具体建造者角色,实现组成部分的构建,并提供示例。  Prod...

2018-03-03 12:18:43

阅读数 61

评论数 0

设计模式-工厂方法模式

1. 为什么需要工厂方法模式:   工厂方法模式意在分离产品与创建的两个层次,使得用户在一个工厂池中科院选择想使用的产品,而忽略其创建过程。进一步说,就像一个大型工厂,对消费者而言,只需知道都有什么工厂的产品生产出来,而不必关注产品是如何生产的,但对于工厂来说,需要知道产品的制造过程。2.模式角色...

2018-03-03 12:17:36

阅读数 50

评论数 0

设计模式-抽象工厂模式

1.为什么需要抽象工厂模式:  提供对象的使用接口,隐藏对象的创建过程。2.类图结构:      3.参与角色AbstractFactory 提供创建对象的接口。 ConcreteFactory 提供真正创建对象的实现类,用于组合并创建不同的对象,实现一个产品族。 AbstractProduct ...

2018-03-03 12:16:21

阅读数 48

评论数 0

访问者模式

对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。此时,就是访问者模式的典型应用了。   应用场景   1 不同的子类,依赖于不同的其他对象   2 需要对一组对象,进行许多不相关的操作,又不想在类中是现在这些方法   3 定义的类很少改变,但是执行的操作却经常发生改...

2018-03-03 12:12:43

阅读数 53

评论数 0

单例设计模式-java

在实际项目中单例模式常见应用场景列举如下:1.servlet编程中,每个servlet就是单例2.网站计数器,和Application(servlet中涉及)3.Strucs1框架中,控制器对象也是单例4.在Spring中,每个bean默认是单例,便于Spring容器管理5.数据库连接池6.应用程...

2018-03-03 12:09:39

阅读数 57

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭