![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java设计模式
文章平均质量分 91
设计模式/设计原则
s10g
如果你觉得我是错的,那么最好证明你是对的
展开
-
java 设计模式之责任链模式(二十二)
java 设计模式之责任链模式②②定义项目需求角色分析代码实现人生路漫漫,愿你我彼此善良而真诚。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/27定义为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。百度百科项目需求假设学校要购进一批材料,要求领导签字主任(5k元内)副校长(5k元 -原创 2021-01-27 16:32:36 · 134 阅读 · 0 评论 -
java 设计模式之策略模式(二十一)
java 设计模式之策略模式②①定义项目需求角色分析代码实现没有人可以左右你的人生,只是很多时候我们需要多一些勇气,去坚定自己的选择。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/27定义是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。百度百科项目需求假设现在有3种鸭子野鸭子(会飞,会游泳)旱鸭子(会飞,不会游泳)玩具鸭子(不会飞,不会游泳)现在想在不改动原创 2021-01-27 11:06:02 · 132 阅读 · 0 评论 -
java 设计模式之状态模式(二十)
java 设计模式之状态模式.20定义项目需求角色分析代码实现总结:不要羡慕别人的成功,那是牺牲了安逸换来的;不要羡慕别人的才华,那是私底下的努力换来的;不要羡慕别人的成熟,那是经历与沧桑换来的。可以欣赏,但不要嫉妒,因为那都是别人应该得到的。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/26定义状态模式允许一个对象在其状态改变时,改变它的行为,对象看起来似乎修改了它的类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到原创 2021-01-26 16:47:22 · 124 阅读 · 0 评论 -
java 设计模式之解释器模式(十九)
java 设计模式之解释器模式①⑨定义角色分析使用场景代码实现躁动的心灵,不安的灵魂。在彷徨中挣扎,在迷失中探索。时光飞逝,努力不变。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/26定义定义了一个解释器,来解释给定语言和文法的句子。其实质是把语言中的每个符号定义成一个(对象)类,从而把每个程序转换成一个具体的对象树.(编译原理上的编译器)百度百科举例理解:要想和外国人交流,就得通过他们的语言,比如’你好’,把你好传递给翻译官,翻译官翻译出来之后告诉外国人,原创 2021-01-26 11:09:20 · 232 阅读 · 0 评论 -
java 设计模式之备忘录模式(十八)
java 设计模式之备忘录模式①⑧定义角色分析使用场景代码实现(经典案例一)代码实现(经典案例二)撑不住的时候,可以对自己说声“我好累”,但永远不要在心里承认说“我不行”。不要在最该奋斗的年纪选择了安逸。没什么好说的,一无所有就是奋斗的理由,我们试着长大,一路跌跌撞撞,然后遍体鳞伤,总有一天,你会站在最亮的地方,活成自己曾经渴望的模样。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/25定义在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这原创 2021-01-25 12:24:13 · 195 阅读 · 0 评论 -
java 设计模式之中介者模式(十七)
java 设计模式之中介者模式①⑦定义经典案例角色分析代码实现如何扩展.我们总是喜欢拿顺其自然来敷衍人生道路上的荆棘坎坷,却很少承认,真正的顺其自然,其实是竭尽所能之后的不强求,而非两手一摊的不作为。设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/23定义用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。百度百科经典案例房东 --> 中介 --> 租客 生活案例举例比如58原创 2021-01-23 15:20:35 · 179 阅读 · 0 评论 -
java 设计模式之观察者模式(十六)
java 设计模式之观察者模式①⑥定义项目需求分析角色分析代码实现如何扩展商品二十岁之后就不应该与人争论,人对自己的观念都非常固执,不要企图能说服别人。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/21定义观察者模式(有时又被称为模型(Model)-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方原创 2021-01-21 14:40:23 · 144 阅读 · 0 评论 -
Java 设计模式之迭代器模式(十五)
Java 设计模式之迭代器模式①⑤定义什么是迭代器ArrayList迭代器模式源码分析项目需求分析代码实现角色分析总结:做人就要沉下心来,踏踏实实地去努力。别人说你几句,听着。骂你几句,忍着。没有人会跟父母似得惯着你。低下头勤勤恳恳去做事才是正道,心高气傲只会使你废在半路上。你很年轻,还没有资本指点江山。一己是人,众人是天;谋事在人,成事在天,你必须不断充实自己。你只有足够强大,才不会被别人践踏。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/19定义迭代器模式(I原创 2021-01-19 13:55:03 · 124 阅读 · 0 评论 -
java 设计者模式之访问者模式(十四)
java 设计者模式之访问者模式①④定义应用场景角色分析代码实现如何进行扩展真实的生活是,认真做好每一天你分内的事情。不索取目前与你无关的爱与远景。不纠缠于多余情绪和评断。不妄想,不在其中自我沉醉。不伤害,不与自己和他人为敌。不表演,也不相信他人的表演。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/17定义表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。百度百科应用场景假设期末考试要公布成绩:成绩分为原创 2021-01-17 16:03:43 · 133 阅读 · 0 评论 -
java 设计模式之命令模式(十三)
java 设计模式之命令模式①三定义命令模式分析角色分析项目需求代码实现如何进行扩展人生只能在路上,梦想只能在前方,有心无难事,有诚路就定通,正确的心态能让你的人生更坦然舒心。当然,心态是依靠你自己调整的,只要你愿意,你就可以给自己的一个正确的心态,只要你愿意,你就可以坚持下去。定义在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”原创 2021-01-16 17:41:32 · 260 阅读 · 0 评论 -
java 设计模式之模板方法模式(十二)
java 设计模式之模板方法模式①②定义使用场景思路分析角色分析代码实现钩子方法理解钩子代码实现奋斗不一定全是为了钱,还有骨子里那份自信、淡定、从容!买得起自己喜欢的东西,去的了自己想去的地方,能承担起该承担的责任,花自己的钱,过有质量的生活!做一个无可替代的自己!定义模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。在软件工程中,它是一种软件设计模式,和C++模板没有关连。百度百科使用场景我现在要制作豆原创 2021-01-15 13:47:41 · 220 阅读 · 0 评论 -
java 设计模式之享元模式(十一)
java 设计模式之享元模式①①定义使用场景问题分析享元模式和单例模式的区别外部状态和内部状态角色分析内部状态代码实现外部状态代码实现人生是需要奋斗的,只有你奋斗了,失败后才会问心无愧;人生是单行路,只有奋斗了,才会有光明的前途;人生中有许多的竞争对手,正因有这么多的竞争对手,所以我们更得奋斗!定义又称之为蝇量模式;运用共享技术有效的支持大量细粒度的对象。百度百科使用场景如果一个应用程序使用了大量的对象,而这些对象造成了很大的存储开销的时候就可以考虑是否可以使用享元模式。例如,如果发现某个原创 2021-01-12 15:33:47 · 134 阅读 · 0 评论 -
java 设计模式之外观模式(十)
java 设计模式之外观模式⑩定义使用场景分析代码实现什么是天才!我想,天才就是勤奋的结果。——郭沫若设计模式学习,近期我会把23种设计模式都写成博客,敬请期待~—2021/1/11定义外观模式也称之为过程模式,外观模式 通过定义一个对外开放的接口,用来屏蔽子类的细节(具体代码实现),使得调用端只需要和这个接口发生关系,而不需要关心子类细节(具体代码实现);百度百科使用场景设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。开发阶段,子系统越来越复杂,增加外观模式提供一个原创 2021-01-11 17:45:09 · 170 阅读 · 0 评论 -
java 设计模式之组合模式(九)
java 设计模式之组合模式⑨定义使用场景常见误区普通情况分析组合模式分析代码实现:人这一辈子,要做一个平静的人,做一个善良的人,做一个微笑挂在嘴边,快乐放在心上的人。有时候能放下自己的脾气向你的坏脾气低头的人,并不是因为怕你,而是比你更懂得珍惜。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/11定义组合模式又称之为部分整体模式,将对象组合成树形结构以表示“部分-整体”的层次结构。百度百科使用场景需要遍历组织机构,或者处理对象具有树形结构时,适合使用组合模原创 2021-01-11 15:55:52 · 219 阅读 · 0 评论 -
java 设计模式之修饰者(装饰者)模式(八)
java 设计模式之 修饰/装饰 者模式⑧定义应用场景角色分析分析代码实现总结学会转移心情,因为只有这样才会从悲伤挣扎出来,才会让自己快乐起来。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/11定义修饰模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。百度百科应用场景在一个类需要添加新功能的情况下,而不改变当前类,比如说一个类的功能是’炒饭’,我想在原创 2021-01-11 11:04:55 · 475 阅读 · 1 评论 -
java 设计模式之代理模式(七)
java 设计模式之代理模式⑦定义角色分类分析静态代理实现:动态代理模式InvocationHandler是什么?Proxy是什么?不要随意发脾气,人生在世,一个人不可能和所有认识的人都成为朋友。真正的朋友是强求不了的,老天也没规定谁必须和谁成为朋友,凡事都是要随缘的,生活中什么事都可以勉强,惟有“情”勉强不得,友情也是一样的道理。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~—2021/1/9定义为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能原创 2021-01-09 14:42:58 · 173 阅读 · 1 评论 -
java 设计模式之桥接模式(六)
java 设计模式之桥接模式⑥什么是桥接模式?使用场景举例解决思路代码实现总结爱情是需要付出和舍得的,当你想要得到一份刻骨铭心的爱情时,你就必须作好承受刻骨铭心之苦的准备,否则,就不要轻易去尝试。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~– 2021/1/9什么是桥接模式?桥接模式,又叫桥梁模式,将抽象部分与它实现部分分离,使它们都可以独立地变化。使用场景当我们发现类有多层继承时就可以考虑使用桥接模式,用聚合代替继承。举例来看看这张图:网络图(1.1):分析:原创 2021-01-09 10:06:24 · 183 阅读 · 1 评论 -
java 设计模式之适配器模式(五)
java 设计模式之适配器模式⑤结构型模式分类结构型模式定义适配器模式定义分析人生,没有永远的伤痛,再深的痛,在切之时,伤口总会痊愈。人生,没有过不去的坎,你不可以坐在坎边等它消失,你只能想办法穿过它。人生,没有永远的爱情,没有结局的感情,总要结束;不能拥有的人,总会忘记。结构型模式分类适配器模式代理模式桥接模式装饰模式组合模式外观模式享元模式结构型模式定义从程序的结构上实现松耦合,从而扩大整体结构,用来解决更大的问题适配器模式定义将一个类的接口实现成客户端想要的接口,适配原创 2021-01-08 16:00:14 · 143 阅读 · 0 评论 -
java设计模式之建造者模式(四)
java设计模式之建造者模式④定义使用场景分类方式一方式二建造者模式与抽象工厂模式对比昨天已经过去,即使昨天发生了再美的事情,我们也无法让它重新来过,明天还未来到,你把未来想象的像花一样那也是以后的事情,纵使你的手在长也无法抓到,我们唯一能够抓得到,掌控的了的就是今天。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~定义将一个复杂的对象与他的细节(实现代码)分离,使得同样的创建过程可以表示不同的样式.使用场景设计同一种类型不同的样式,根据提出的需求而返回具体的值比如说我现在要要原创 2021-01-08 14:56:03 · 200 阅读 · 0 评论 -
java 设计模式之原型模式(三)
java 设计模式之原型模式③什么是原型模式?什么是克隆?原型设计模式思路普通方法克隆浅克隆深克隆总结每一个优秀的人,都有一段沉默的时光。那一段时光,是付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,日后说起时,连自己都能被感动日子。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~什么是原型模式?原型模式是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象原型设计模式是一种创建型设计模式,运行一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。工作原理原创 2021-01-08 10:35:56 · 168 阅读 · 0 评论 -
java设计模式之工厂模式(工厂方法/抽象工厂)(二)
java设计模式之工厂模式②什么是工厂模式?工厂模式优缺点工厂模式分类为什么要学习工厂模式?使用场景是什么??普通工厂模式工厂方法模式抽象工厂模式在这人世间,有些路是非要单独一个人去面对,单独一个人去跋涉的,路再长再远,夜再黑再暗,也得独自默默地走下去。设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~什么是工厂模式?工厂模式属于设计模式中的创建型,我们不暴露创建对象的具体逻辑,而是将逻辑封装在一个方法中,那么这个方法就可以被视为一个工厂.工厂模式优缺点优点不暴露具体代码逻辑实原创 2021-01-07 15:21:04 · 423 阅读 · 0 评论 -
java 设计模式之单例模式(一)
java 设计模式之单例模式①单例模式介绍单例模式的8种分类饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全,同步方法,效率低)懒汉式(线程安全,同步代码块)双重检查静态内部类枚举官大官小总有烦恼,越升越高没有终了;钱多钱少没法比较,越多越好没完没了;吃好吃赖都是饭菜,占多占少知足就好,放弃计较快乐就到!设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~单例模式介绍所谓单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该原创 2021-01-06 17:20:05 · 189 阅读 · 3 评论 -
java 七大设计原则之单一职责,接口隔离原则(文字代码相结合理解)
java 设计模式之七大设计原则,文字代码相结合理解七大设计原则有哪些?为什么要使用七大设计原则?单一职责原则接口隔离原则接口隔离原则定义:接口隔离原则定义解释:每做一事,最好只追求一个最在乎的目标,其余都可让步,这样达成目标的机会才高。比方:做这事,最在乎是学经验,那就别计较钱;做那事,最要紧是钱,那就别计较面子。以此类推。若做一事,又想学经验,又要赚得多,又要有面子。如此美事,有得等啊。一款高效的app来自于程序员对细节的处理,以及对代码的规范,可读性等,经常听到要使用设计模式,设计模式有七大设原创 2021-01-04 16:22:06 · 498 阅读 · 0 评论 -
java 七大设计原则之依赖倒置,里氏替换原则(文字代码相结合理解)
java 七大设计原则之依赖倒置,里氏替换原则,文字代码相结合理解七大设计原则有哪些?为什么要使用七大设计原则?依赖倒置原则里氏替换原则喜欢就争取,得到就珍惜,错过就忘记。人生也许不尽完美,正因为不完美,我们才需要不断地努力创造努力奋斗。时间就是生命,所以我们必须珍惜宝贵的生命,执着地守候生命中每一个必经的十字路口。七大设计原则有哪些?单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则通常大家理解的是前六个,并没有合成复用原则为什么要使用原创 2021-01-05 16:49:54 · 528 阅读 · 0 评论 -
java 七大设计原则之迪米特原则,开闭原则,合成复用原则(文字代码相结合理解)
java 七大设计原则之迪米特原则,开闭原则,合成复用原则 ---文字代码相结合理解七大设计原则有哪些?为什么要使用七大设计原则?迪米特原则开闭原则合成复用原则**设计原则的核心思想**七大设计原则有哪些?单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则通常大家理解的是前六个,并没有合成复用原则为什么要使用七大设计原则?代码重用性(相同的代码不用多次编写);可读性(编程的规范性,便于其他程序员的阅读和理解);可拓展性(当需要添加新的功原创 2021-01-06 10:56:24 · 477 阅读 · 0 评论 -
java设计模式/设计原则
七大设计原则java 七大设计原则之单一职责,接口隔离原则(文字代码相结合理解)java 七大设计原则之依赖倒置,里氏替换原则(文字代码相结合理解)java 七大设计原则之迪米特原则,开闭原则,合成复用原则(文字代码相结合理解)Android studio UML建模java 类与类之间的关系设计模式java 设计模式之 建造型:单例模式(一)java 设计模式之 建造型:工厂方法/抽象工厂模式(二)java 设计模式之 建造型:原型模式(三)java 设计模式之 建造型:建造者模式(四原创 2021-01-08 15:58:44 · 468 阅读 · 1 评论