java设计模式
人圭日月
未来,加油!
展开
-
代理模式(转载)
https://blog.csdn.net/yangbaggio/article/details/89950200原创 2020-06-01 10:09:32 · 167 阅读 · 0 评论 -
状态模式
状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类https://blog.csdn.net/liummmin/article/details/105920611总结归纳就是每个类继承抽象类state , 每个实体类放一个activity,通过构造方法,传递行为代码实现:package com.longchuang.rongh原创 2020-05-20 22:49:51 · 151 阅读 · 0 评论 -
适配器与组合模式
适配器的优点有一场景,就是不同的人实现不同的集合A 使用数组的形式存放集合B 使用List的方式存放集合思考如何把两个集合数据很好的放到一块解决方案:每个方法写一个适配器,调用方直接调用适配器上面调用java.util中的迭代器进行操作。上面那个Menu接口,可以解耦上面的问题是,每当出现一个类,就会出现每当你添加一个菜单,就会修改构造方法和多调用一次printMenu,以下修改看上去没什么问题了,但是当菜单包含子菜单的时候,问题又出现了。是无法被迭代的组合模式允许你将对象组合原创 2020-05-17 20:50:07 · 222 阅读 · 0 评论 -
模板方法模式
设计模式之(模板方法)模板方法在模板方法里实现钩子模板方法若有不恰之处,请各位道友指正~模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤(以下是类图)。public abstract class CaffeeineBeverage { /** * 这个方法就是模板方法 * 在这个模板...原创 2020-02-11 10:59:48 · 101 阅读 · 0 评论 -
适配器模式
设计模式之(适配器模式)观察者模式外观模式观察者模式若有不恰之处,请各位道友指正~个人觉得,看懂类图就是学习设计模式的精髓了。适配器模式 : 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无闻。代码展示:public interface Duck { public void quack(); public void fly();}pu...原创 2020-02-08 14:33:02 · 121 阅读 · 0 评论 -
设计模式8之(命令模式)
设计模式8之(命令模式)命令模式命令模式若有不恰之处,请各位道友指正~个人觉得,看懂类图就是学习设计模式的精髓了。策略模式概念将“请求” 封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持撤销的操作。根据类图写代码代码结构public interface Command { void execute();}public class ...原创 2019-10-23 21:59:24 · 98 阅读 · 0 评论 -
设计模式7之(工厂模式)
设计模式3之(单例模式)简单工厂简单工厂不会设计模式,何以叫java工程师?若有不恰之处,请各位道友指正~争对开闭原则,设计的一种模式。类图(简单工厂)场景分析:1,pizza 店有很多种类的pizza2,不同用户订购的pizza 不一样// 推荐 ,一般用于程序中保证会实例化的对象,工具类等class Singleton1{ private static f...原创 2019-10-19 13:20:28 · 123 阅读 · 0 评论 -
设计模式6之(装饰者模式)
设计模式6之(装饰者模式)观察者模式(设计模式)观察者模式(设计模式)若有不恰之处,请各位道友指正~个人觉得,看懂类图就是学习设计模式的精髓了。策略模式概念动态地将责任链附加到对象上,若要拓展功能,装饰者提供了比继承更有弹性的替代方案根据类图写代码代码结构//饮料public abstract class Beverage { public String des...原创 2019-10-08 16:46:35 · 110 阅读 · 0 评论 -
设计模式5之(观察者模式)
设计模式5之(观察者模式)观察者模式(设计模式)观察者模式(jdk 提供Observer接口)观察者模式(设计模式)若有不恰之处,请各位道友指正~个人觉得,看懂类图就是学习设计模式的精髓了。策略模式概念定义了对象之间的一对多依赖,这样一来,当一个对象发生改变时,它的所有依赖都可以收到通知,并自动更新根据类图写代码代码结构// 主题public interface Subj...原创 2019-09-18 22:28:20 · 114 阅读 · 0 评论 -
设计模式4之(策略模式)
设计模式4之(策略模式)策略模式策略模式若有不恰之处,请各位道友指正~个人觉得,看懂类图就是学习设计模式的精髓了。策略模式概念把变化的代码从不变的代码中抽离出来多用组合/聚合,少用聚合根据类图写代码代码结构//抽象类public abstract class Duck { //用聚合的方式引用行为 FlyAction flyAction; Swim...原创 2019-09-16 22:13:28 · 150 阅读 · 0 评论 -
设计模式3之(单例模式)
设计模式3之(单例模式)8种单例模式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(非线程安全)懒汉式(线程安全)懒汉式(同步代码块)双重检查(double-check)静态内部类枚举8种单例模式不会设计模式,何以叫java工程师?若有不恰之处,请各位道友指正~饿汉式(静态常量)优点:在类加载的时候就完成了实例化,避免了多线程同步问题缺点:在类加载的时候就完成实例化,没有达到懒加...原创 2019-09-10 23:57:51 · 91 阅读 · 0 评论 -
设计模式1之(UML图)
设计模式1之(UML图)7大原则UML类图7大原则不会设计模式,何以叫java工程师?若有不恰之处,请各位道友指正~UML类图工欲善其事,必先利其器。UML 一定是设计模式的一把锋利????类与类的关系:依赖,泛化(继承),实现,关联关系,聚合,组合依赖:只要类中用到了对方泛化:依赖关系的特例实现:依赖关系的特例关联关系:具有导航性和多重性(这个解释很迷茫吧~)聚合:整体和部分的...原创 2019-09-08 23:02:48 · 92 阅读 · 0 评论 -
设计模式2之(7大原则)
设计模式2之(7大原则)7大原则单一职责原则开闭原则里氏替换原则接口隔离原则依赖倒置原则迪米特法则合成复用原则7大原则不会设计模式,何以叫java工程师?若有不恰之处,请各位道友指正~单一职责原则1,降低类的复杂度,一个类只负责一项职责2,提高类的可读性,可维护性3,降低变更带来的风险4,只有类中方法足够少,可以在方法级别上违反单一原则开闭原则1,一个软件实体如类,模块和...原创 2019-09-08 22:39:21 · 101 阅读 · 0 评论