设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
a18792721831
这个作者很懒,什么都没留下…
展开
-
23种设计模式----解释器模式----行为型模式
解释器模式1.什么是解释器模式2.核心思想3.例子3.1 背景3.2 分析3.3 画界面3.4 代码实现3.5 效果4.总结23种设计模式1.什么是解释器模式遇到需求经常变化的项目,直接用Java语言实现,然后每更改一次需求,就修改相应的源代码?这样的做法是非常不明智的。好一些的程序会把经常变化的部分作为可配置的,这样需要修改哪些部分,只需要修改配置文件即可。但是如果我们需要修改的这部...原创 2018-12-28 20:00:38 · 385 阅读 · 0 评论 -
23种设计模式----命令模式----行为型模式
命令模式1.什么是命令模式2.命令模式的角色3.模式图4.例子4.1例子背景4.2 结构图4.3 命令接口4.4 命令抽象方法4.5 实现的命令4.6 命令的集合4.7 抽象的持有者4.8 实现的持有者4.9 命令的发动者4.10 命令的请求者4.11 结果5.总结5.1 命令的享元工厂5.2 执行者的享元工厂5.2.1抽象的命令的集合:5.2.2具体的命令的集合5.2.3 抽象的命令的发动者5....原创 2018-12-21 19:43:41 · 287 阅读 · 0 评论 -
23种设计模式----代理模式----结构型模式
代理模式1.什么是代理模式2.代理模式的角色3.例子3.1 背景3.2 例子结构3.3 抽象的共同的方法3.4 导购3.5 买家3.6 调用者3.7 结果4.总结1.什么是代理模式代理这个词在生活中也很多。最经典的一个就是在香港的警匪片中,反派老大被抓到警察局,然后反派老大说,我什么都不会交代,和我的律师说吧。此时,律师就是反派老大在与警察交涉过程中的代理人。还有一种情况就是反派老大管理...原创 2018-12-20 20:31:27 · 282 阅读 · 0 评论 -
23种设计模式----享元模式----结构型模式
享元模式1.什么是享元模式2.享元模式的角色3.模型4.例子4.1 背景4.2 项目结构4.3 例子说明4.4 元数据4.5 元数据管理类4.6 使用者4.7 结果5.总结1.什么是享元模式要理解享元模式首先需要理解什么是元数据。元数据不没有准确的范围,或者准确的格式。只能是相对来说。比如对于一篇文章,元数据可以是章节,可以是段落,可以是语句,可以是文字,可以是笔画,甚至可以是像素点。。...原创 2018-12-20 18:48:46 · 507 阅读 · 0 评论 -
23种设计模式----状态模式----行为型模式
状态模式1.什么是状态模式2.核心思想3.角色4.例子4.1 项目结构4.2抽象的状态4.3具体的状态4.4 抽象的事物4.5 具体的事物4.6使用者4.7 结果5.扩展5.1项目结构5.2 抽象的中介者5.3 具体的中介者5.4 使用者5.5 结果6.总结1.什么是状态模式对于一个事物,不同的状态下有不同的操作,那么需要知道事物的操作时,需要先判断事物的状态,然后调用事物的操作。举一个通俗...原创 2018-12-13 17:21:15 · 1244 阅读 · 0 评论 -
23种设计模式----备忘录模式----行为模式
备忘录模式1.什么是备忘录模式2.角色说明3.关系说明4.实现方式5.例子5.1文件结构5.2项目介绍5.3骰子类5.4玩家类5.5快照类5.6使用者5.7结果6.扩展直达底部1.什么是备忘录模式现在许多的文本编辑器都有一些功能:撤销,重做,历史记录等等。显示生活中,遇到有意义的瞬间,大家就会拍照留念。照片保存了那个瞬间的一些信息:所处的环境的信息,目标的信息。。。。所以备忘录模式就...原创 2018-12-13 14:57:04 · 284 阅读 · 0 评论 -
23种设计模式----观察者模式----行为型模式
观察者模式1.什么是观察者模式2.观察者模式的角色3.实现方式4.分析观察者模式5.例子5.1 结构图5.2 抽象的观察者5.3 抽象的被观察者5.4 具体的观察者5.5 具体的被观察者5.6 测试5.7 结果6.总结7.扩展7.1 委托接口7.2 让抽象的被观察者实现委托接口7.3 具体的委托类7.4 测试7.5 结果1.什么是观察者模式观察者模式在现实中非常的常见。中午了,小李第一个去吃...原创 2018-12-05 20:11:03 · 258 阅读 · 0 评论 -
23种设计模式----中介者模式----行为型模式
中介者模式1.什么是中介者模式2.中介者模式的角色3.例子3.1 项目结构3.2 共同实体3.3 抽象的中介者3.4 抽象的被中介者3.5 具体的中介者3.6 具体的被中介者3.7 调用者3.8 结果4.总结1.什么是中介者模式在幼儿园,小朋友在课间总是说个不停,但是由于每个人都在吵,老师受不了了,老师说:谁想说话就举手,我提问谁谁需要回答。在这种情况下:老师就是中介者,小朋友就是被中介者...原创 2018-12-04 21:10:23 · 382 阅读 · 0 评论 -
23种设计模式----外观模式----结构型模式
外观模式1.什么是外观模式2.外观模式3.例子3.1项目结构:3.2 基本操作的抽象类3.3 具体操作的实现类3.4 外观类(封装类)3.5 调用者3.6 结果4.更好玩的例子4.1 首先模拟计算机加一4.2 加法4.3 减法4.4 取相反数4.5 乘法4.6 除法5.总结1.什么是外观模式首先,一个程序有许许多多的功能。举一个最简单的例子:eclipse中有各种各样的功能,我们根据需要不断的...原创 2018-12-03 20:49:24 · 338 阅读 · 0 评论 -
23种设计模式----责任链模式----行为型模式
责任链模式1.什么是责任链模式2.责任链模式的角色3.例子3.1 抽象的责任3.2 具体的责任3.3 责任链3.4结果3.5 环形责任链3.6 结果4.扩展1.什么是责任链模式责任:什么是责任,对于Java中的类来说,需要解决某一个问题,就需要调用这个方法。换句话说,拥有这个方法的类有责任解决这个问题。所以,对于类,其方法就是责任。责任链:责任链就是以什么顺序去寻找相应的方法。责任链模式...原创 2018-11-30 20:50:43 · 275 阅读 · 0 评论 -
23种设计模式----访问者模式----行为型模式
访问者模式1.访问者模式解决的问题2.访问者模式中的角色3.关系4.例子4.1结构图4.2 抽象数据结构4.3 实际的数据结构4.4 抽象的访问者4.5 实际的访问者4.6 访问者数据分配4.7 结果4.8 增加一个访问者4.9 访问者分配者4.10 结果5.知识点5.1 双重分发5.2 数据与处理分离5.3 开闭原则5.4 扩展1.访问者模式解决的问题首先看这样的一个情景:西游记师徒四人,...原创 2018-11-28 19:25:11 · 368 阅读 · 0 评论 -
23种设计模式----装饰器模式----结构型模式
装饰器模式1.什么是装饰器模式2.装饰器模式的结构图3.装饰器的核心点3.1 装饰器的被装饰物的接口“透明”3.3 装饰器模式中思想是委托3.2 装饰器模式中的递归3.3 委托4.例子4.1抽象的被装饰物--房子4.2 具体的被装饰物--大房子4.3 抽象的装饰物--家具4.4 具体的被装饰物--床4.5 使用4.6 结果4.7 扩充--椅子4.8 使用4.9 结果1.什么是装饰器模式(图片...原创 2018-11-22 20:05:56 · 334 阅读 · 0 评论 -
23种设计模式----组合模式----结构型模式
组合模式1.什么是组合模式2.组合模式的角色3.核心思想4.例子----目录遍历4.1抽象组合--目录4.2 实现组合--文件夹4.3 实现组合-文件4.4 目录类型4.5 组合异常4.6 测试方法--main方法4.7 结果5.总结1.什么是组合模式日常生活中存在这样的一类型事物:给你一个目录,你不知道是文件还是文件夹给你一个链接,你不知道是具体的文本还是网页一个大箱子可以容纳一个小箱...原创 2018-11-16 18:04:11 · 236 阅读 · 0 评论 -
23种设计模式----策略模式----行为型模式
策略模式1.什么是策略模式2.角色3.例子--骰子-大小--猜大小3.1骰子--实体3.2策略3.3乘胜追击--具体的策略3.4 反其道而行3.5统计规律3.6玩家3.7庄家(mian类)3.8 1个骰子,100局,哪个策略胜率大3.9 10个骰子,100000局3.10 1000个骰子,10 0000 局4.总结1.什么是策略模式首先,什么策略:策略是与敌军作战的方法,慢慢扩展为做事情的方式...原创 2018-11-09 14:10:34 · 322 阅读 · 0 评论 -
23种设计模式----桥接模式----结构型模式
桥接模式1.什么是桥接模式2.桥接模式的意义3.角色4.例子4.1抽象化类4.2 改善的抽象化类4.3实现者4.4 具体的实现者4.5 测试4.6结果5.扩充5.1在上述的例子中#换成*(实现结构)5.1.1新增实现类5.1.2测试类中新增:5.1.3测试结果:5.1.4总结5.2新增left,right方法(功能)5.2.1新增方法5.2.2 新增测试5.2.3结果5.2.4总结5.3扩展1....原创 2018-11-07 21:03:26 · 273 阅读 · 0 评论 -
23种设计模式----抽象工厂模式----创建型模式
抽象工厂模式1.抽象工厂模式是什么2.角色说明3.抽象部分设计3.1抽象产品--机动车3.2抽象产品--非机动车3.3抽象零件--刹车3.4抽象零件--轮胎3.5抽象零件--发动机3.6抽象零件--车外壳3.7抽象零件工厂3.8抽象产品工厂4.实体类4.1实体接口--车4.2实体类--车属性4.3实体类--车属性工厂4.4实体类--工厂工具5.零件具体实现5.1 刹车零件--盘刹5.2 刹车零件-...原创 2018-10-31 14:57:35 · 367 阅读 · 0 评论 -
23种设计模式----建造者模式----创建型模式
建造者模式1.建造者模式解决的问题2.建造者模式中的角色3.建造者模式的调用过程4建造者实例4.1角色说明4.2建造接口:4.3工头4.4建造者14.5建造者24.6建造者34.7工具类4.8测试方法5测试结果6.总结1.建造者模式解决的问题当我们处理比较复杂的问题时,很难一次性的解决,或者当问题比较复杂,一次性难以完成时。建造者模式提供一个在原基础上不断扩充的模式,我们可以在上次的基础上增...原创 2018-10-30 10:59:56 · 238 阅读 · 0 评论 -
23种设计模式----原型模式----创建型模式
原型模式1.1什么是原型模式1.2为什么要使用原型模式2.原型模式的解释3.例子3.1例子将要实现的目标3.2例子设计3.3原型类3.4具体实现的3个原型实例类3.5管理类3.6工具类3.7测试类3.8测试结果4原型模式的扩充4.1管理类使用为单例模式4.2增加单例对象初始化(客户化)4.3修改测试类4.4输出结果5.总结1.1什么是原型模式根据实例来创建实例。1.2为什么要使用原型模式主...原创 2018-10-29 17:25:12 · 8168 阅读 · 0 评论 -
23种设计模式----单例模式----创建型模式
单例模式1.单例模式2.单例模式实现方式3.构思对比项目3.1对比方式3.2单例基类设计3.3线程基类3.4测试类基类设计4单例模式具体实现4.1静态常量--饿汉式4.2饿汉式,静态代码块4.3懒汉式--常规4.4懒汉式,同步方法4.5懒汉式--同步代码块4.6双重检查4.7静态内部类4.8枚举5.线程类具体实现5.1---4.15.2--4.25.3-4.35.4--4.45.5--4.55.6...原创 2018-10-23 20:25:49 · 500 阅读 · 0 评论 -
23种设计模式----工厂方法模式----创建型模式
工厂方法模式1.什么是工厂方法模式2.通俗的解释3例子3.1例子的背景。3.2类的抽象3.3实例类的抽象3.4测试3.5反思4.工厂方法的扩展5测试6测试结果7.问题工厂方法模式或者说是简单工厂方法。ps:学会模板方法再学习工厂方法更简单,或者说工厂方法模式是在模板方法的基础上进行设计的。1.什么是工厂方法模式将实例的生成交给子类(出自《图解设计模式》)这句话怎么理解?我自己的理解就是...原创 2018-10-18 20:46:04 · 389 阅读 · 0 评论 -
23种设计模式----模板方法模式----行为模式
模板方法模式1.模板方法模式是什么2.模板方法的组成3.模板方法中不同的类的行为4.例子4.1 例子的背景4.2模板类--父亲寻找继承人的方式4.3实现类----孩子类4.4测试类----Main4.5效果5.使用模板方法模式的优点1.模板方法模式是什么通常情况下,我们做事情有一个模板就比较好做,因为有模板可以使用。甚至在写字的时候,有一本字帖,我们只要对应着写就行。所以,模板方法就是定义处...原创 2018-10-16 20:19:19 · 297 阅读 · 0 评论 -
23种设计模式----适配器模式----结构模式
适配器模式1.适配器模式介绍2.适配器模式角色3.适配器模式的实现需求现有工具类3.1继承方式实现适配器3.2组合的方式3.3适配器模式实现扩展3.4文档结构及名称4.适配器模式的使用4.1使用适配器可以在不更改原有类的基础上增加新类,这样出现bug也是在新类中,比在原有类的基础上修改好的多。4.2修改原有类需要对原有类进行测试,如果只是改动比较小,但是测试比较...原创 2018-09-14 14:55:42 · 460 阅读 · 0 评论 -
观察者模式手动实现与讲解
23种设计模式观察者模式是经典设计模式中的一种,使用广泛。 观察者模式实现两个耦合度较高的类解耦。 观察者模式由观察者和被观察者组成;在实现中,被观察者为主体;在作用中,观察者为主体。(一般情况下)观察者模式在现实中的场景可简单对应为:张三看见李四去吃饭了,张三也去吃饭了。张三是观察者,李四是被观察者。李四去吃饭,被观察者的状态改变;张三看见,被观察者广播通知观察者...原创 2018-07-27 11:27:35 · 470 阅读 · 0 评论 -
23种设计模式----迭代器模式----行为模式
迭代器模式1.迭代器模式目的2.迭代器模式实现2.1一些名词迭代器:进行遍历行为的类容器:存放元素的类2.2接口的定义2.3实现类定义2.4 实体类定义2.5 测试类定义2.6 测试结果3.迭代器模式扩展3.1迭代器模式的接口可以使用jdk的接口java中util包中的至于容器的接口3.2例子3.3实现自己的集合(类似set,map,netnet(...原创 2018-09-06 20:49:32 · 569 阅读 · 0 评论 -
23种设计模式
23种设计模式----迭代器模式----行为模式23种设计模式----适配器模式----结构模式23种设计模式----模板方法模式----行为模式23种设计模式----工厂方法模式----创建型模式23种设计模式----单例模式----创建型模式23种设计模式----原型模式----创建型模式23种设计模式----建造者模式----创建型模式23种设计模式----抽象工厂模式---...原创 2018-11-07 19:02:26 · 1144 阅读 · 2 评论