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
-----【设计模式学习】
尚硅谷
设计模式学习
——模板模式
//抽象类表示豆浆abstractclassSoyaMilk{//模板方法,make,模板方法可以做成final,不让子类去覆盖finalvoidmake(){select();addConiments();soak();beat();}//选材料voidselect(){System.out.println("第一步:选择好的新鲜黄豆");}//添加不同的配料,抽象方法,子类具体实现abstra
chenkaibsw
·
2020-08-20 00:12
设计模式
java
设计模式学习
----- 工厂方法模式(Factory Method)
工厂方法模式(FactoryMethod)工厂方法模式分为三种:普通工厂模式、多个工厂方法模式、静态工厂方法模式普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:[java]viewplaincopypublicinterfaceSender{publicvoidSend();}其次,创建实现类:
gao_chun
·
2020-08-19 17:04
java技术笔记
设计模式学习
笔记
最近一段时间学习了设计模式方面的知识,其实有些设计模式平时工作中已经用的非常多,但不知道名字罢了,但也有些设计模式相对比较复杂难以理解。这篇博客算是对常用的设计模式进行了一些总结,不同的设计模式中蕴含着不同的设计思想,熟练掌握这些设计模式对编程水平会有很大的提高。关于代码部分可以参考:https://github.com/luoweifu/PyDesignPattern创建型模式简单工厂模式:专门
Johnson0722
·
2020-08-19 16:18
python
设计模式学习
适配模式1一个接口有好多方法,但是一个类要实现他,但是只要实现其中的一两个方法就能搞定那么就定义一个抽象类来实现它然后继承这个抽象类,来重写里面的两个方法,就搞定了interfaceWindow{//定义Window窗口接口,表示窗口操作publicvoidopen();//窗口打开publicvoidclose();//窗口关闭publicvoidiconified();//窗口最小化publi
lvzi98
·
2020-08-19 04:16
Java
设计模式学习
03——建造者模式
一、场景当需要生产一辆汽车时,我们需要为其装配发动机、轮胎、座椅等等部件,这个装配过程是比较复杂的而且也需要较高的组装技术。而建造者模式(BuilderPattern)就是为了将部件与组装分离开。二、概念将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造
汉森X
·
2020-08-18 23:08
设计模式
java设计模式学习
设计模式学习
之抽象工厂模式(实现数据访问层)
1什么是抽象工厂模式抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需制定他们的具体类。结构图如下:分析一下抽象工厂模式,1提供一系列相互依赖对象的创建工作2封装对象常规的创建方法3提供统一调用数据访问的方式4避免调用数据访问方法和具体创建工作。针对上图进行详细分析:AbstractProductA和AbstractProductB是两个抽象产品,之
wziyx513225244
·
2020-08-18 23:36
C#
设计模式
java
设计模式学习
汇总
1.什么是设计模式设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核
toMatser
·
2020-08-18 22:27
设计模式
Java设计模式
Java设计模式Sunny在CSDN技术博客中陆续发表了100多篇与
设计模式学习
相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式+简单工厂模式),为了方便大家学习,现将所有文章的进行了整理
Jack-Chan
·
2020-08-18 20:49
设计模式
设计模式学习
设计模式学习
笔记设计模式(Designpattern)的使用是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
W-O-M-W
·
2020-08-18 07:56
打基础
设计模式学习
笔记
threemainmilestonesinourdesignprocess:ConceptualizingtheideasDesigningthelook-and-feelArchitecturaldesignTips:Subclassingiswhite-boxreuseObjectcompositionisblack-boxreuse准则:Programtoaninterface,notani
Dake423
·
2020-08-17 21:48
设计模式学习
笔记
设计模式的目的编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编程规范性,便于其他程序员的阅读和理解)可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护)可靠性(即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性设计
luopeng207663436
·
2020-08-17 13:07
设计模式
设计模式学习
—数据访问对象模式(Data Access Object Design Pattern)
一、我的理解该模式是将其他形式表现的数据实体(比如存在数据库中的表)转换成编程可用的数据对象的形式。把低级的数据访问API或操作从高级的业务服务中分离出来。二、实现方式数据访问对象对外提供接口共高级业务获取数据对象,然后底层利用相关技术实现该接口。三、实例Java实例Student类:转换后的数据对象类packagecom.study.dp.dao;publicclassStudent{priva
ifish3014
·
2020-08-17 08:20
设计模式
设计模式学习
之旅
一:策略模式(1)定义:将程序中经常改变的行为(方法),独立封装起来形成一系列算法族,让这些算法族可以互相替换,并且与使用的客户(类)相互独立,不存在继承,实现等关系.(2)使用场景:当程序模块中的多个类要使用的方法经常改变,可以将这些经常改变的方法分类成一个个算法组,相互替换.(3)设计原则3.1多用组合,少用继承.我们应该在扩展性和维护性之上提高复用性,而继承虽然提升了复用性,但是却破坏了维护
sp377455152
·
2020-08-16 14:38
学习笔记
Java
设计模式学习
-单例模式的漏洞及解决办法
通过对单例模式进行了学习,我们已经对单例模式已经有了一定的认识,但是不知道你们发现没有,也存在几个问题反射可以破解上一篇博客中的单例模式,其中不包含枚举单例模式。反序列化也可以破解上一篇中的单例模式,其中也不包含枚举但离开模式。那我们来看下1),反射是如何破解单例模式的(下面主要是用懒汉单例模式来做演示)/**懒汉式单例模式*@author晓电脑**/publicclassSingletionDe
沉默的晓胖
·
2020-08-16 11:07
java设计模式学习
java基础
大话
设计模式学习
总结
如有雷同,不胜荣欣,如转载,请注明C#大话
设计模式学习
总结一、工厂模式面向对象的三个特性:封装,继承和多态1.封装ClassOperate{privatedouble_numberA;privatedouble_numberB
ching126
·
2020-08-16 10:59
架构
Java
设计模式学习
笔记:代理模式(二)
上一篇文章介绍了java代理模式的基本概念,以及通过一个生活中的例子介绍了静态代理的原理,传送门如下:Java
设计模式学习
笔记:代理模式(一)今天继续研究代理模式中另外一种比较重要的模式,动态代理,还是通过上次静态代理的例子来扩展讲解
七棵芹菜
·
2020-08-16 08:17
Java设计模式学习笔记
Java
设计模式学习
笔记:装饰器模式
装饰器模式其实比较常见,大家在开发过程中其实经常用到,只不过自己还没发觉自己用到了装饰器这种设计模式,下面通过一个生活中的例子来介绍装饰器模式。那煎饼果子来说,我们知道煎饼果子有各种配置,加鸡蛋加香肠加生菜加肉等各种豪华配置(bgm:哟哟,切克闹,煎饼果子来一套,我说鸡蛋你说要),我们用代码来体现:首先是普通的煎饼,不做任何升级的那种,假设5块钱一个:packagecom.rq.pattern.d
七棵芹菜
·
2020-08-16 08:17
Java设计模式学习笔记
Java
设计模式学习
笔记:代理模式(一)
今天学习代理模式,简单记一下笔记,代理模式其实就是使客户端在使用目标对象时,不直接操作目标对象,而是通过代理对象来操作目标对象,代理对象是对目标对象的增强。今天先说下静态代理,静态代理的实现模式一般是:首先创建一个接口(JDK代理都是面向接口的),然后创建具体实现类来实现这个接口,然后再创建一个代理类同样实现这个接口,不同之处在于,具体实现类的方法中需要将接口中定义的方法的业务逻辑功能实现,而代理
七棵芹菜
·
2020-08-16 08:17
Java设计模式学习笔记
设计模式
静态代理
代理模式
java
Java
设计模式学习
笔记:代理模式(三)
上一篇文章介绍了通过JDKProxy的方式,将之前的静态代理转换为动态代理,传送门如下:Java
设计模式学习
笔记:代理模式(二)今天继续研究动态代理的另外一种形式,通过Cglib实现动态代理,Cglib
七棵芹菜
·
2020-08-16 08:17
Java设计模式学习笔记
九大常用
设计模式学习
-装饰者模式
设计模式学习
记录:一句话+代码体会设计模式。
a-lofty-ideal
·
2020-08-15 03:29
Java
设计模式
游戏
设计模式学习
笔记(20)工厂模式、抽象工厂模式
游戏
设计模式学习
笔记(20)工厂模式、抽象工厂模式参考:《设计模式与游戏完美开发》《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN
ChiLi_Lin
·
2020-08-15 02:52
游戏设计模式
学习笔记
游戏
设计模式学习
笔记(21)建造者模式
游戏
设计模式学习
笔记(21)建造者模式参考:《设计模式与游戏完美开发》《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)《图说设计模式
ChiLi_Lin
·
2020-08-15 02:52
游戏设计模式
学习笔记
游戏
设计模式学习
笔记(18)访问者模式
游戏
设计模式学习
笔记(18)访问者模式参考:《设计模式与游戏完美开发》《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)《图说设计模式
ChiLi_Lin
·
2020-08-15 02:21
游戏设计模式
学习笔记
目录: 23种经典
设计模式学习
笔记
01.23种经典设计模式-11-单例模式02.23种经典设计模式-12-原型模式03.23种经典设计模式-13-工厂方法模式04.23种经典设计模式-14-抽象工厂模式05.23种经典设计模式-15-建造者模式06.23种经典设计模式-15-建造者模式扩展07.23种经典设计模式-21-组合模式08.23种经典设计模式-22-享元模式09.23种经典设计模式-23-代理模式10.23种经典设计模式
Java 程序源
·
2020-08-14 12:14
menu
设计模式学习
笔记(七):行为型模式
行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的复杂的控制流。它们将你的注意力从控制流转移到对象间的联系方式上。行为型模式的三个典型特点:封装变化对象作为参数对发送者和接收者解耦ChainofResponsibility意图:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并
zhenjing
·
2020-08-14 12:31
软件工程与开发工具
设计模式学习
笔记(一):设计模式与设计原则
设计模式简介每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。--ChristopherAlexander设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中,特定场景下,类(抽象类之间,抽象类和派生类)之间或者相互通信的对象之间常见的组织关系。对象是什么?–从概念层面讲,对象是某种拥有责任的抽象。–从规格层面讲,对象是
zhenjing
·
2020-08-14 12:31
软件工程与开发工具
设计模式
编程
扩展
oo
语言
c
java/android
设计模式学习
笔记(9)---代理模式
这篇博客我们来介绍一下代理模式(ProxyPattern),代理模式也成为委托模式,是一个非常重要的设计模式,不少设计模式也都会有代理模式的影子。代理在我们日常生活中也很常见,比如上网时连接的代理服务器地址,更比如我们平时租房子,将找房子的过程代理给中介等等,都是代理模式在日常生活中的使用例子。代理模式中的代理对象能够连接任何事物:一个网络连接,一个占用很多内存的大对象,一个文件,或者是一些复制起
Shawn_Dut
·
2020-08-14 12:58
Android
Android/Java
设计模式
Java
java
java/android
设计模式学习
笔记目录
其实很早就想开始总结设计模式了,无奈刚刚换完工作,工作太忙,平时周末也太懒,难得提起精神写一点,估计时间会花的很长,不过还是自己加油吧~~。学习笔记,顾名思义,其实就是我在平时看书,工作的笔记而已,只不过分享出来让大家有什么错误的给指点一下,能学到知识当然也是很好的( ̄▽ ̄)”。PS:对技术感兴趣的同鞋加群544645972一起交流java/android设计模式介绍设计模式(Designpatt
Shawn_Dut
·
2020-08-14 12:26
Android
Android/Java
设计模式
Java
java
设计模式学习
笔记十三:模板方法模式
设计模式学习
笔记十三:模板方法模式介绍模板方法(TEMPLATEMETHOD)模式,属于类行为型模式,意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
weixin_30908707
·
2020-08-14 11:45
设计模式学习
笔记(C++实现)(二十三)--模板方法模式
1.模板方法模式简介英文名称TemplateMethod主要目的该模式定义一个操作中的算法的基本框架,而将一些步骤延迟到子类中进行。模板方法模式可以使得子类在不改变算法框架的情况下,重定义该算法的某些特定步骤。使用场景1.一次性实现一个算法不变的部分,并将可变的部分留给子类来实现;2.各个子类的公共行为被提取出来并集中到一个公共父类中进行,从而减少代码重复;3.控制子类在特定点进行扩展。2.模板方
张慕风
·
2020-08-14 11:47
设计模式
设计模式学习笔记(C++实现)
设计模式学习
笔记---模板方法模式template method pattern(Java版)
一、场景客服到银行办理业务:1、取号排队2、办理具体现金/陷阱/转账/企业/个人/理财业务3、给银行工作人员评分二、实质它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。(处理步骤父类中定义好,具体实现延迟到子类中定义。)三、示例packagecom.lgd.templemethod;publicabstractc
李国冬
·
2020-08-14 11:00
设计模式
Java
设计模式学习
笔记(二十三):状态模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2环境类2.3抽象状态类2.4具体状态类2.5客户端3实例4共享状态5环境类实现状态切换6主要优点7主要缺点8适用场景9总结1概述1.1引言状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中的某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状
氷泠
·
2020-08-14 10:39
设计模式
设计模式学习
笔记(二十):中介者模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象同事类2.3具体同事类2.4抽象中介者2.5具体中介者2.6客户端3实例4扩展中介者与同事类4.1方法14.2方法25主要优点6主要缺点7适用场景8总结1概述1.1引言如果一个系统中对象之间的联系呈现为网状结构,存在大量的多对多联系,将导致系统非常复杂,比如,一个GUI窗口中,通过一个按钮更新了文本框,也更新了组
氷泠
·
2020-08-14 10:39
设计模式
设计模式
设计模式学习
笔记(二十四):策略模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象策略类2.3具体策略类2.4环境类2.5客户端3实例4JDK中的策略模式5与状态模式的不同6主要优点7主要缺点8适用场景9总结1概述1.1引言在外出旅游时,很多时候的出行方式都不止一条,通常根据实际情况,比如目的地,预算,旅游时间等确定最适合的出行方式。在软件开发中,也常常会遇到类似的情况,实现某一个功能有多种途
氷泠
·
2020-08-14 10:39
设计模式
设计模式学习
笔记(二十二):观察者模式
1概述1.1引言观察者模式使用频率很高,用于建立一种对象之间的依赖关系,当一个对象发生改变时自动通知其他对象,其他对象将做出相应反应。在观察者模式中,发生改变的对象叫做观察目标,也叫被观察者,而被通知的对象叫做观察者。一个观察目标可以对应多个观察者,而且这些观察者之间没有任何相互关联,可以根据需要增加和删除观察者,使得系统便于扩展。1.2定义观察者模式:定义对象之间的一种一对多依赖关系,使得每一个
氷泠
·
2020-08-14 10:39
设计模式
设计模式学习
笔记(二十一):备忘录模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2原发器2.3备忘录2.4负责人2.5客户端3实例4备忘录封装5主要优点6主要缺点7适用场景8总结1概述1.1引言在手机上玩象棋时,往往会提供一个悔棋的功能,实际上,悔棋就是恢复到某个历史状态,很多软件中称之为撤销,实现撤销时,需要先保存历史状态,这样撤销时,取出某个历史状态并覆盖当前状态。备忘录模式提供了一种状态恢复
氷泠
·
2020-08-14 10:39
设计模式
设计模式学习
笔记(十六):职责链模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象处理者2.3具体处理者2.4客户端3实例4分类4.1纯的职责链模式4.2不纯的职责链模式5主要优点6主要缺点7适用场景8总结1概述1.1引言很多情况下,一个软件系统中可以处理某个请求的对象不知一个,比如采购单的审批,主任,副董事长,董事长,董事会都可以处理采购单,他们可以构成一条处理采购单的链式结构,采购单沿着这
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十八):解释器模式
文章目录1概述1.1引言1.2相关术语1.2.1文法规则1.2.2BNF符号1.2.3终结符与非终结符1.2.4抽象语法树1.3定义1.4结构图1.5角色2典型实现2.1步骤2.2环境类2.3抽象表达式2.4终结符表达式2.5非终结符表达式2.6客户端3实例4扩展5主要优点6主要缺点7适用场景8总结1概述1.1引言解释器模式是一种使用频率较低但是学习难度较大的设计模式,用于描述如何使用面向对象语言
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十九):迭代器模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象迭代器2.3抽象聚合类2.4具体聚合类2.5具体迭代器2.6客户端3实例4内部类实现5JDK迭代器5.1`Iterator`5.2`ListIterator`6主要优点7主要缺点8适用场景9总结1概述1.1引言在软件开发中,有一些类可以存储多个成员对象(元素),这些类通常称为聚合类,对应的对象称为聚合对象。聚合对
氷泠
·
2020-08-14 10:38
设计模式
设计模式
设计模式学习
笔记(十七):命令模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象命令类2.3调用者2.4接收者2.5具体命令类2.6客户端3实例4命令队列5撤销与重做6主要优点7主要缺点8适用场景9总结1概述1.1引言日常生活中,可以通过开关控制一些电器的开启和关闭,比如电灯和排气扇。可以将开关理解成一个请求发送者,电灯是请求的最红接收者以及处理者,开关与电灯之间不存在直接的耦合关系,两者通
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十四):享元模式
文章目录1概述1.1引言1.2内部状态与外部状态1.3定义1.4结构图1.5角色2典型实现2.1步骤2.2抽象享元类2.3具体享元类2.4非共享具体享元类2.5享元工厂类2.6客户端2.7反射简化3实例4加入外部状态5单纯享元模式与复合享元模式5.1单纯享元模式5.2复合享元模式6补充说明7主要优点8主要缺点9适用场景10总结1概述1.1引言当一个系统中运行时的产生的对象太多,会带来性能下降等问题
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十三):外观模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2外观角色2.3客户端3实例4引入抽象外观类4.1为什么需要引入抽象外观类?4.2如何引入?5注意事项6主要优点7主要缺点8适用场景9总结1概述1.1引言根据单一权责原则,软件中将一个系统划分为若干个子系统有利于降低整个系统的复杂性,使客户类与子系统之间的通信和相互依赖关系达到最小,方法之一就是引入一个外观角色,为子系
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十五):代理模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色1.5分类1.6与装饰模式的不同2典型实现2.1步骤2.2抽象主题角色2.3真实主题角色2.4代理主题角色2.5客户端3实例4动态与静态代理4.1静态代理4.2动态代理4.2.1`Proxy`4.2.2`InvocationHandler`4.2.3实例5远程代理5.1概述5.2RMI简例6虚拟代理6.1概述6.2适用情况6.3优缺点6.4简
氷泠
·
2020-08-14 10:38
设计模式
设计模式学习
笔记(十二):装饰模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象构件类2.3具体构件类2.4抽象装饰类2.5具体装饰类2.6客户端3实例4透明装饰与半透明装饰4.1透明装饰模式4.2半透明装饰模式5注意事项6主要优点7主要缺点8适用场景9总结1概述1.1引言装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。比如,一张照片,不改变照片本身,增加一个相框。装饰模
氷泠
·
2020-08-14 10:37
设计模式
设计模式学习
笔记(九):适配器模式
文章目录1概述1.1引言1.2定义1.3分类1.3.1对象适配器模式1.3.2类适配器模式1.4角色2典型实现2.1步骤2.2目标抽象类2.3适配者类2.4适配器类2.4.1对象适配器2.4.2类适配器2.5客户端3实例4双向适配器5缺省适配器5.1定义5.2结构图5.3角色5.4实例6主要优点7主要缺点8适用场景9总结1概述1.1引言有的笔记本电脑工作电压为20V,而我国家庭用电为220V,如何
氷泠
·
2020-08-14 10:37
设计模式
设计模式
设计模式学习
笔记(十一):组合模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象构件2.3叶子构件2.4容器构件2.5客户端3实例4透明组合模式与安全组合模式4.1如何简化代码4.2默认实现4.3删除方法4.4透明组合模式4.5安全组合模式5主要优点6主要缺点7适用场景8总结1概述1.1引言对于树形结构,比如文件目录,一个文件夹中可以包含多个文件夹和文件,而一个文件中不能在包含子文件或者子文
氷泠
·
2020-08-14 10:37
设计模式
设计模式学习
笔记(八):建造者模式
文章目录1概述1.1引言1.2复杂对象1.3定义1.4结构图1.5角色2典型实现2.1步骤2.2产品角色2.3抽象建造者2.4具体建造者2.5导演类2.6客户端3实例4优化4.1省略`Director`4.2钩子方法4.3返回Builder5主要优点6主要缺点7适用场景8总结1概述1.1引言建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须
氷泠
·
2020-08-14 10:37
设计模式
设计模式
设计模式学习
笔记(七):原型模式
文章目录1概述1.1引言1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象原型类2.3具体原型类2.3.1通用实现方法2.3.2`clone`2.4客户类3实例4浅克隆与深克隆4.1浅克隆4.2深克隆5原型管理器5.1定义5.2实例6主要优点7主要缺点8适用场景9总结1概述1.1引言对于某些岗位来说,工作周报的内容会大同小异,如果用户每次都需要从空白的周报进行输入无疑会浪费用户很多的时
氷泠
·
2020-08-14 10:06
设计模式
设计模式学习
笔记(二):UML与面向对象设计原则
文章目录1UML1.1UML1.2UML特性1.3UML结构1.3.1视图1.3.2图1.3.3模型元素1.3.4通用机制2UML类图2.1类图2.1.1类名2.1.2属性2.1.3操作2.2类之间的关系3关联关系3.1双向关联3.2单向关联3.3自关联3.4多重性关联3.5聚合关系3.6组合关系4依赖关系5泛化关系6接口与实现关系7面向对象设计原则7.1概述7.2单一职责原则SRP7.3开闭原则
氷泠
·
2020-08-14 10:06
设计模式
设计模式学习
笔记(六):抽象工厂模式
文章目录1概述1.1引言1.1.1产品等级结构1.1.2产品族1.2定义1.3结构图1.4角色2典型实现2.1步骤2.2抽象产品2.3具体产品2.4抽象工厂2.5具体工厂2.6客户端3实例4有关OCP5主要优点6主要缺点7适用场景8总结1概述1.1引言在了解抽象工厂模式之前,首先来了解一下两个术语:产品等级结构产品族1.1.1产品等级结构产品等级结构也就是产品的继承结构,例如一个抽象类是电视机,子
氷泠
·
2020-08-14 10:06
设计模式
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他