E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
设计模式学习笔记
设计模式学习笔记
(二)单例模式
单例模式(SingletonPattern):Ensureaclasshasonlyoneinstance,andprovideaglobalpointofaccesstoit.(确保某一个类只有一个实例,并向整个系统提供这个实例的全局访问点。)单例模式的优点:由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,单例模式的优势就非常明显。当一个对象的产生需要比较
狮王zs
·
2020-08-05 12:15
设计模式
设计模式学习笔记
——Observer观察者模式
观察者模式里面有两个东西:观察者(Observer)和目标(Subject)。当目标发生变化的时候,观察者随之起舞,也作出相应的变化。此为观察者模式。这是怎么做到的?主要是目标里面存有一份观察者的名单,当目标变化时,可以按照名单逐一通知,于是观察者们做出自己的响应。publicclassClient{publicstaticvoidmain(Stringa[]){MySubjectsubject=
H_MZ
·
2020-08-05 11:36
设计模式学习笔记
-单例模式的几种实现方式
单例定义单例模式(SingletonDesignPattern),一个类只允许创建一个对象(或者实例),那这个类就时一个单例类,这种设计模式就时单例模式单例的几种实现1、饿汉式饿汉式的实现方式是在类加载的时候,instance静态实例已经创建并初始化好了,这种方式是线程安全的,但是并不支持延迟加载,也就是不能在用到的时候再去创建实例publicclassSingletonTest{privates
wadye
·
2020-08-05 11:09
设计模式
设计模式学习笔记
——单例设计模式
单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象
Stephen_java
·
2020-08-05 11:50
Head First
设计模式学习笔记
——观察者模式
HeadFirst
设计模式学习笔记
——观察者模式简单理解问题来源:如何建立对象之间的一对多的依赖关系,使得当一个对象改变状态时,其他依赖它的对象都能收到通知并自动更新。
两鬓已不能斑白
·
2020-08-05 11:36
Design
Patterns
Java
面试题梳理
设计模式学习笔记
--观察者模式
一.简介观察者模式是一种灰常灰常重要的设计模式!在我们编程的时候经常会用到观察者模式,虽然我们自己可能并不知道。观察者模式又叫做发布-订阅模式。定义了一种一对多的依赖关系,让多个观察者同时监听同一个对象,该对象的状态发生改变时,会通知所有观察者对象,使他们更新自己。举个例子来说,比如我们在玩一个网络游戏,场景中出现了一个BOSS,那么所有在这个场景中的人都应该能知道BOSS出现了,换句话说,服务器
puppet_master
·
2020-08-05 10:02
设计模式
设计模式学习笔记
设计模式学习笔记
(二)- -观察者模式
[同系列文章]1.
设计模式学习笔记
(一)--策略模式我又来了,续更ヾ(◍°∇°◍)ノ゙,接下来的内容是观察者模式的学习笔记以下正文ヽ( ̄▽ ̄)ノ)观察者模式简要概括:书本以“气象站”为例,气象站–>天气数据对象
hecate1994
·
2020-08-05 10:03
设计模式
设计模式学习笔记
——单例模式
定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的通用类图如下:代码如下:publicclassSingleton{privatestaticfinalSingletonsingleton=newSingleton();//私有的构造函数,限制产生多个对象privateSingleton(){System.out.println("singletoniscreate
hackerain
·
2020-08-05 10:00
设计模式
设计模式学习笔记
--观察者模式(Observer Pattern)
概念观察者模式定义了对象之间的一对多的依赖关系,当一个对象(被观察者)改变状态时,它的所有依赖者(观察者)都会收到通知并更新设计原则为了交互对象之间的松耦合设计而努力理解在这个模式中存在两个角色,一个是“被观察者”,另一个是“观察者”,他们之间的关系类似现实生活中的“报刊订阅”,其中被观察者是“报社”,观察者是“用户”,用户在报社购买报刊订阅服务后,报社一旦有新报刊发布,就会通知用户,而如果用户取
classTC
·
2020-08-05 10:19
设计模式
java/android
设计模式学习笔记
(1)---单例模式
前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴T__T),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使用的时候也会有一些坑。转载请注明出处:http://blog.csdn.net/self_study/article/details/50835410。PS:对技术感兴趣的同鞋加群544645972一起交
Shawn_Dut
·
2020-08-05 10:36
Android/Java
设计模式
Java
Android
java
设计模式学习笔记
-单例模式
介绍单例模式就是采取一定方法保证整个软件系统中,对某个类只能存在一个对象实例,并且该类只能提供一个取得其对象的方法,一般为静态方法。单例模式的实现方式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举饿汉式(静态常量)实现步骤构造器私有化类的内部创建对象向外暴露一个公共静态方法代码实现classSingleto
一年而已
·
2020-08-05 10:30
设计模式
单例
设计模式学习笔记
单例设计模式,用于保证在整个软件系统中,对于某一个类只存在一个实例的设计方法;对于一些频繁创建和销毁的对象,使用单例模式可以提高性能;比如我们自己写的工具类,一般设计成静态方式,还可以根据情况设计成单例模式;又比如Hibernate中的SessionFactory,是一个重量级的类,通常一个项目只需要一个SessionFactory就就够满足系统所需,这时候就采用单例模式来设计;1、饿汉式//饿汉
进阶的菜鸟
·
2020-08-05 10:41
设计模式
23种
设计模式学习笔记
(Java)
练习的代码已上传到GitHub和gitee,需要的自取。GitHub:https://github.com/angenin/DesignPattemgitee:https://gitee.com/angenin/DesignPattem文章目录设计模式的7大设计原则设计模式分为三大类1.创建型模式(共五种)2.结构型模式(共七种)3.行为型模式(共十一种)UML类图依赖:泛化(继承)、实现、关联(
angenin
·
2020-08-05 01:35
设计模式
软件架构设
设计模式学习笔记
1.结构模式1.1.适配器模式把一个错误的接口转换为所希望的形式,基于类的适配器继承了需要适配的类,以此得到这个类的接口,同时适配器还继承了它并不需要的包袱,基于对象的适配器通过聚集得到需要适配的类,它基于类的适配器一样,是专门为需要适配的类所写,但并不继承包袱1.2.桥梁模式把对客户所提供的接口抽象于实现接口相互分离,抽象的类的层次于它的实现部分通过桥梁进行链接,以此达到双方单独修改或者扩展的目
SSS的博客
·
2020-08-04 22:58
java
设计模式
设计模式学习笔记
(一)——单例模式
一、概述单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止实例化多个对象。一个最好的办法就是,让类自身负责保持它的唯一实例。这个类可以保证没有其它实例可以被创建,并且它可以提供一个访问该实例的方法。在应用这种模式时,单例对象的类必须保证只有一个实例存在。二、实现单例模式2.1、单例模式单例模式的实现中主要有两种方式:一种是调用
Hellowongwong
·
2020-08-04 04:13
C#设计模式学习之【单例模式】
原版地址:http://www.unitymanual.com/blog-27799-3016.html
设计模式学习笔记
_单例模式(Singleton)单例模式(Singleton)概述:单例模式是一种常用的软件设计模式
手机用户3146623517
·
2020-08-04 03:13
设计模式学习笔记
之单例模式
目录目录概述定义实例模式原理模式写法概述单例模式,也叫单件模式;在核心结构中只包含一个实例,在运行时只会生成一个实例的类。通过使用单例模式可以保存在系统运行时只产生一个实例,这个实例提供外界的访问方式;使用单例模式可以减少系统资源的开销和对实例个数的管理。如果希望在运行过程中只产生一个实例刚使用单例模式来定义这个类是一个不错的选择。定义单件模式确保一个类只有一个实例,并提供一个全局访问点实例usi
Jason.you
·
2020-08-04 01:32
设计模式
设计模式
C++
设计模式学习笔记
一、组件协作TemplateMethodStrategyObsever/Event二、单一职责DecoratorBrige三、对象创建FactoryMethodAbstractFactoryPrototypeBuilder四、对象性能SingletonFlyweight六、接口隔离FacadeProxyMediatorAdapter七、状态变化MementoState八、数据结构Composite
一世豁然
·
2020-08-03 12:16
C/C++/Java
java/android
设计模式学习笔记
(6)---适配器模式
这篇来介绍一下适配器模式(AdapterPattern),适配器模式在开发中使用的频率也是很高的,像ListView和RecyclerView的Adapter等都是使用的适配器模式。在我们的实际生活中也有很多类似于适配器的例子,比如香港的插座和大陆的插座就是两种格式的,为了能够成功适配,一般会在中间加上一个电源适配器,形如:这样就能够将原来不符合的现有系统和目标系统通过适配器成功连接。说到底,适配
Shawn_Dut
·
2020-08-03 09:39
Java
Android/Java
设计模式
Android
java
设计模式学习笔记
(一)
设计模式学习笔记
学习设计模式使用的书本为《headfirst设计模式》根据教材写的各模式的示例代码放在GitHub上,后续会将仓库地址放上来。
dan_chun_
·
2020-08-02 17:27
学习笔记
设计模式学习笔记
(十九):迭代器模式
1概述1.1引言在软件开发中,有一些类可以存储多个成员对象(元素),这些类通常称为聚合类,对应的对象称为聚合对象。聚合对象拥有两个职责,一个是存储数据,一个是遍历数据,前者是聚合对象的基本职责,后者是可以变化以及分离的,因此,可以将遍历数据的行为从聚合对象中分离出来,封装在一个被称之为“迭代器”的对象中,又迭代器来提供遍历聚合对象内部数据的行为。1.2定义迭代器模式:提供一种方法来访问对象,而不用
氷泠
·
2020-08-02 12:00
设计模式
设计模式学习笔记
(十八):解释器模式
1概述1.1引言解释器模式是一种使用频率较低但是学习难度较大的设计模式,用于描述如何使用面向对象语言构成一个简单的语言解释器。某些情况下可能需要自定义一个新语言,这种语言具有自己的文法规则,这时可以使用解释器模式进行设计,比如模拟机器人的控制程序,每一条指令对应一个动作,通过解释输入的指令来实现对机器人的控制。下面先来看一些术语定义。1.2相关术语1.2.1文法规则文法规则是用于描述语言的语法的规
氷泠
·
2020-08-02 12:30
设计模式
设计模式学习笔记
(十七):命令模式
1概述1.1引言日常生活中,可以通过开关控制一些电器的开启和关闭,比如电灯和排气扇。可以将开关理解成一个请求发送者,电灯是请求的最红接收者以及处理者,开关与电灯之间不存在直接的耦合关系,两者通过电线连接在一起,使不同的电线可以连接不同的请求接收者,只需要更换一根电线,相同的发送者(开关)既可对应不同的接收者(电器)。软件开发中经常需要向某些对象发送请求,但是并不知道具体的接收者是谁,也不知道被请求
氷泠
·
2020-08-02 12:29
设计模式
设计模式学习笔记
(四):封装变化
设计模式与封装变化设计模式可以确保系统能以特定方式变化(这很大程度是一种预测),从而帮助设计者避免重新设计系统。每一个设计模式允许系统结构的某个部分的变化独立于其他部分,这样产生的系统对于某一种特殊变化将更健壮。下面阐述一些导致重新设计的一般原因,以及解决这些问题的常用设计模式:1)通过显式地指定一个类来创建对象。在创建对象时指定类名将使设计者受特定实现的约束,而不是特定接口的约束。这会使未来的变
zhenjing
·
2020-08-01 08:31
软件工程与开发工具
设计模式学习笔记
(十六):职责链模式
1概述1.1引言很多情况下,一个软件系统中可以处理某个请求的对象不知一个,比如采购单的审批,主任,副董事长,董事长,董事会都可以处理采购单,他们可以构成一条处理采购单的链式结构,采购单沿着这条链进行传递,这条链就叫职责链。职责链可以是一条直线,一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并让
氷泠
·
2020-08-01 07:23
设计模式
设计模式学习笔记
三、接口隔离原则
一、介绍1、客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。2、使用多个专门的接口比使用单一的总接口要好。3、一个类对另外一个类的依赖性应当是建立在最小的接口上的。4、、一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。5、“不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类
努力的阳光蓝孩
·
2020-07-31 23:36
【23种设计模式】
设计模式学习笔记
(C++实现)(十)--装饰模式
1.装饰模式简介英文名称Decorator主要目的该模式可以动态地给一个对象添加一些额外的职责。使用场景1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;2.处理那些可以撤销的职责;3.当不能采用生成子类的方法进行扩充时。2.装饰模式代码示例测试平台1.开发语言:C++2.开发工具:VS20153.操作系统:Win7X64代码说明1.Role–抽象角色类,提供接口;2.RealP
张慕风
·
2020-07-31 10:59
设计模式
设计模式学习笔记(C++实现)
设计模式学习笔记
:01 单例模式
学习主要参考:http://www.cnblogs.com/zuoxiaolong/p/pattern2.html在应用中如果有两个或者两个以上的实例会引起错误,又或者换句话说,就是这些类,在整个应用中,同一时刻,有且只能有一种状态。一般创建方法publicclassSingleton{//一个静态的实例privatestaticSingletonsingleton;//私有化构造函数privat
silencefun
·
2020-07-30 19:46
Java
设计模式学习笔记
之单例模式
首先是单例模式的内容:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个PrinterSpoole
samwangzhibo
·
2020-07-30 09:26
java
(C#
设计模式学习笔记
)二、面向对象设计的七大原则及单一职责原则、开放封闭原则分析
一、面向对象的七大设计原则设计原则名称设计原则简介1.单一职责原则(SRP)类的职责要单一,不能将太多的职责放在一个类中2.开闭原则(OCP)软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能3.里式代换原则(LSP)在一个可以接受基类对象的地方必然可以接受一个子类对象4.依赖倒转原则(DIP)要针对抽象层编程,而不要针对具体类编程5.接口隔离原则(ISP)使用多
ZJ.WANG
·
2020-07-29 16:38
设计模式
设计模式
面向对象编程
c#
(C#
设计模式学习笔记
)一、面向对象的根本性问题及松耦合与紧耦合
1.封装、继承、多态封装,隐藏内部实现继承,复用现有代码多态,改写对象行为继承是以封装为基础的,多态是以继承为基础的。封装,侧重于对象的描述。继承和多态,侧重于对象之间的关系描述。2.从编程语言直观了解面向对象通过面向对象编程语言(OOPL)认识到的面向对象,并不是面向对象的全部。OOPL的三大机制“封装、继承、多态”可以表达面向对象的所有概念,但是这三大机制没有刻画出面向对象的核心精神。3.面向
ZJ.WANG
·
2020-07-29 16:38
设计模式
(C#
设计模式学习笔记
)三、面向对象设计的依赖倒置原则
一、依赖倒置原则1.定义:高层模块不应该依赖底层模块,他们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。另外一种表述为:要针对接口编程,不要针对实现编程。依赖倒置原则的中心思想是面向接口编程。2.原则:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构,比以细节为基础搭建起来的架构要稳定的多。3.类之间的耦合:零耦合关系具体耦合关系抽象耦合关系依赖倒置原则要求客户端依
ZJ.WANG
·
2020-07-29 16:38
设计模式
设计模式
面向对象编程
c#
c++
Android源码
设计模式学习笔记
-模版方法模式
使用模版方法模式模拟不同计算机的启动流程.publicabstractclassAbstractComputer{protectedvoidpowerOn(){System.out.println("开启电源");}protectedvoidcheckHardware(){System.out.println("硬件检查");}protectedvoidloadOS(){System.out.pr
e小e
·
2020-07-29 12:57
CSDN博文精选:最受欢迎的系列专栏博客推荐
开发高手进阶教程宣雨松:Objective-C语法锦集杨中科:WindowsPhone开发视频教程keyboardOTA:在BlackBerry上使用OpenGL绘图设计模式系列gnuhpc:HeadFirst
设计模式学习笔记
雪天飞山狐狸
·
2020-07-29 04:34
【大牛
+
链接】
设计模式学习笔记
之——单例模式
单例模式(SingletonPattern)涉及到一个单一的类,该类负责创建属于自己的对象,并且确保只有一个对象被创建,这种类提供了一种访问其唯一对象的方式,可以直接访问,无需实例化。介绍现在的操作系统都为多进程多线程的,如windows系统,在多个线程操作文件时就必须确保所有的文件操作都对应唯一的实例来进行;一些设备管理器经常被设计为单例,如多台打印机同时工作,需满足不能打印同一个文件。Sing
I_李岩
·
2020-07-27 21:34
设计模式学习笔记
(十三):外观模式
1概述1.1引言根据单一权责原则,软件中将一个系统划分为若干个子系统有利于降低整个系统的复杂性,使客户类与子系统之间的通信和相互依赖关系达到最小,方法之一就是引入一个外观角色,为子系统的访问提供一个简单而单一的入口。外观模式通过引入一个新的外观角色来降低原有系统的复杂度,同时降低客户类与子系统类的耦合度。(这里的子系统是广义的概念,可以是一个类,一个功能模块,系统的一个组成部分或者一个完整的系统)
氷泠
·
2020-07-27 17:29
设计模式
设计模式学习笔记
(十二):装饰模式
1概述1.1引言装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。比如,一张照片,不改变照片本身,增加一个相框。装饰模式是一种用于替代继承的技术,无须定义子类即可给对象动态增加职责,使用对象之间的关联关系来代替继承关系,在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类方法,还可以增加新的方法,以扩充原有的类功能。1.2定义装饰模式:动态地给对象增加一些额外的职责。就增
氷泠
·
2020-07-27 17:15
设计模式
设计模式学习笔记
(十一):组合模式
1概述1.1概述对于树形结构,比如文件目录,一个文件夹中可以包含多个文件夹和文件,而一个文件中不能在包含子文件或者子文件夹,在这里可以称文件夹为容器,称文件为叶子。在树形结构中,当容器对象(比如文件夹)的某个方法被调用时,将遍历整个文件夹,寻找也包含这个方法的成员对象(容器对象或叶子对象)并调用执行。由于容器对象以及叶子对象在功能上的区别,使用这些对象的代码中必须有区别对待容器对象以及叶子对象,但
氷泠
·
2020-07-27 17:08
设计模式
设计模式学习笔记
(十):桥接模式
1定义桥接模式:将抽象部分与其实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体模式或者接口模式。2概述桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统变得更加符合SRP。比如,设计一个跨平台的图像浏览系统,支持的图片格式包括:PNGBMPJPGGIF等等,而支持的系统包括:Win
氷泠
·
2020-07-27 17:52
设计模式
设计模式学习笔记
(九):适配器模式
1适配器模式1.1定义将一个接口转换为客户希望的另一个接口,使接口不兼容的那些类可以一起工作,别名为包装器。适配器中的接口是广义的接口,可以表示一个方法或者方法的集合。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。1.2分类根据适配器与适配者类的关系不同,可以分为对象适配器模式以及类适配器模式。1.2.1对象适配器模式对象适配器模式就是适配器与适配者之间是关联关系。结构图如下:1.2
氷泠
·
2020-07-27 17:20
设计模式
设计模式学习笔记
(八):建造者模式
1建造者模式1.1定义建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需的建造者类型即可。建造者模式关注一步一步地创建一个复杂对象,不同的具体建造者定义了不同的创建过程,
氷泠
·
2020-07-27 17:21
设计模式
设计模式学习笔记
(十四):享元模式
1概述1.1引言当一个系统中运行时的产生的对象太多,会带来性能下降等问题,比如一个文本字符串存在大量重复字符,如果每一个字符都用一个单独的对象表示,将会占用较多内存空间。那么该如何避免出现大量相同或相似的对象,同时又不影响客户端以面向对象的方式操作呢?享元模式正为解决这一问题而生,通过共享技术实现相同或相似对象的重用,在逻辑上每一个出现的字符都有一个对象与之对应,但是物理上却共享一个享元对象。在享
qq5d1070a92e32e
·
2020-07-27 13:34
设计模式
C#
设计模式学习笔记
-单例模式
最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。在《DesignPatterns:ElementsofResuableObject-OrientedSoftware》中的定义是:Ensureaclassonlyhasoneinstance,andprovideaglobalpointofaccessto。它的主要特点不是根据客户程序调用生成一个新的实例,而是
weixin_30677617
·
2020-07-27 13:00
设计模式学习笔记
(十三):外观模式
1概述1.1引言根据单一权责原则,软件中将一个系统划分为若干个子系统有利于降低整个系统的复杂性,使客户类与子系统之间的通信和相互依赖关系达到最小,方法之一就是引入一个外观角色,为子系统的访问提供一个简单而单一的入口。外观模式通过引入一个新的外观角色来降低原有系统的复杂度,同时降低客户类与子系统类的耦合度。(这里的子系统是广义的概念,可以是一个类,一个功能模块,系统的一个组成部分或者一个完整的系统)
qq5d1070a92e32e
·
2020-07-27 06:39
设计模式
设计模式学习笔记
(十二):装饰模式
1概述1.1引言装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。比如,一张照片,不改变照片本身,增加一个相框。装饰模式是一种用于替代继承的技术,无须定义子类即可给对象动态增加职责,使用对象之间的关联关系来代替继承关系,在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类方法,还可以增加新的方法,以扩充原有的类功能。1.2定义装饰模式:动态地给对象增加一些额外的职责。就增
qq5d1070a92e32e
·
2020-07-26 16:34
设计模式
设计模式学习笔记
(十二):装饰模式
1概述1.1引言装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。比如,一张照片,不改变照片本身,增加一个相框。装饰模式是一种用于替代继承的技术,无须定义子类即可给对象动态增加职责,使用对象之间的关联关系来代替继承关系,在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类方法,还可以增加新的方法,以扩充原有的类功能。1.2定义装饰模式:动态地给对象增加一些额外的职责。就增
qq5d1070a92e32e
·
2020-07-26 16:49
设计模式
设计模式学习笔记
(十一):组合模式
1概述1.1概述对于树形结构,比如文件目录,一个文件夹中可以包含多个文件夹和文件,而一个文件中不能在包含子文件或者子文件夹,在这里可以称文件夹为容器,称文件为叶子。在树形结构中,当容器对象(比如文件夹)的某个方法被调用时,将遍历整个文件夹,寻找也包含这个方法的成员对象(容器对象或叶子对象)并调用执行。由于容器对象以及叶子对象在功能上的区别,使用这些对象的代码中必须有区别对待容器对象以及叶子对象,但
qq5d1070a92e32e
·
2020-07-26 10:44
设计模式
设计模式学习笔记
(十):桥接模式
1定义桥接模式:将抽象部分与其实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体模式或者接口模式。2概述桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统变得更加符合SRP。比如,设计一个跨平台的图像浏览系统,支持的图片格式包括:PNGBMPJPGGIF等等,而支持的系统包括:Win
qq5d1070a92e32e
·
2020-07-25 08:09
设计模式
设计模式学习笔记
(九):适配器模式
1适配器模式1.1定义将一个接口转换为客户希望的另一个接口,使接口不兼容的那些类可以一起工作,别名为包装器。适配器中的接口是广义的接口,可以表示一个方法或者方法的集合。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。1.2分类根据适配器与适配者类的关系不同,可以分为对象适配器模式以及类适配器模式。1.2.1对象适配器模式对象适配器模式就是适配器与适配者之间是关联关系。结构图如下:1.2
qq5d1070a92e32e
·
2020-07-24 23:49
设计模式
设计模式学习笔记
(八):建造者模式
1建造者模式1.1定义建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需的建造者类型即可。建造者模式关注一步一步地创建一个复杂对象,不同的具体建造者定义了不同的创建过程,
qq5d1070a92e32e
·
2020-07-18 14:29
设计模式
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他