Java设计模式
李伟驰
chunniunai258
展开
-
设计模式之观察者模式原理及实例(简单讲解)
观察者模式观察者模式是使用频率比较高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互关系,可以根据需要增加和删除观察者,使得系统更易于扩展。观察者的别名有发布-订阅(Publish-Sub...原创 2019-08-24 18:36:20 · 1932 阅读 · 0 评论 -
设计模式之装饰模式原理及实例(简单讲解)
装饰模式在软件设计中,装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的基础关系。在装饰模式中引入了装饰类,在装饰类中既可以调用未被装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。装饰模式的结构:Component(抽象构件):它是具体构件和抽象装饰类的共同父亲,声明了在具体构件中实现的业务方法,它的引入可...原创 2019-08-22 15:14:29 · 504 阅读 · 0 评论 -
设计模式之外观模式原理及实例(简单讲解)
外观模式在外观模式中,一个子系统的外部与其内部的通信通过一个统一的外观类进行,外观类将客户端与子系统内部复杂性分隔开,使得客户端只需要与外观角色打交道,而不需要与子系统内部的很多对象打交道。外观模式结构:1.Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或者多个)子系统的功能和责任。在正常情况下,它将调用从客户端发来的请求委派到相应的子系统,传...原创 2019-08-22 19:52:55 · 881 阅读 · 0 评论 -
设计模式之策略模式原理及实例(简单讲解)
策略模式在软件开发中常常会遇到,要实现一个功能(例如排序、查找)有很多种算法,一种常用的方法是通过硬编码将所有的算法集中在一个类中,在该类中提供多个方法,每一个方法对应一个具体的算法;当然也可以将这些算法封装在一个统一的方法中,通过if-else等条件判断语句进行选择。这两种实现方法都可以称为硬编码,如果需要增加一种新的算法,需要修改算法类的源代码;更换算法也需要修改客户端调用代码,在这个统一...原创 2019-08-22 21:19:07 · 1222 阅读 · 0 评论 -
设计模式之建造者模式原理及实例(简单讲解)
建造者模式建造者模式可以将部件本身和它们的组装过程分开,关注如何一步一步地创建一个包含组成部分的复杂对象,用户指需要指定复杂对象的类型即可得到该对象,而无须知道其内部的具体构造细节。建造者模式是一种对象创建型模式,它将客户端与包含多个部件的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分和分配方案,只需要知道所需建造者的类型即可。建造者模式关注如何一步一步地创建一个复杂对象,不...原创 2019-08-26 11:00:47 · 478 阅读 · 0 评论 -
设计模式之代理模式原理及实例(简单讲解)
代理模式由于某些原因,客户端不想或者不能直接访问一个对象,此时可以通过一个称为“代理”的第三者来实现间接访问,该方案对应的设计模式被称为代理模式。代理模式是一种应用广泛的结构型设计模式,而且变化形式特别多,常见的代理形式有远程代理、保护代理、虚拟代理、缓冲代理、智能引用代理等。代理模式是一种结构型模式。在代模式中引入了一个新的代理对象,代理对象在客户端对象和目标对象之间起到中介的作用,...原创 2019-08-30 10:44:57 · 1414 阅读 · 1 评论