![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
Java训练员
把算法刻入骨髓,程序就是我的灵魂
展开
-
JAVA策略模式(释放技能)
策略模式:定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。源码地址:https://gitee.com/yang-kairui/design-pattern我们需要定义一个抽象策略,然后实现一系列的具体策略,在我们执行的时候可以运行特定策略的类。以释放技能为例:先创建使用算法的客户,角色public class Role { /** * 名字 */ private String name; /** * 技能.原创 2022-04-07 12:33:16 · 251 阅读 · 0 评论 -
JAVA状态模式(打boss案例)
定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。源码地址:https://gitee.com/yang-kairui/design-pattern状态模式实际上就是模拟一个有限状态机,不同状态采取不同的处理方式,我们以一个打boss的小案例为例:先创建一个Boss实体类public class Boss { /** * 名称 */ private String name; /** * 生命值 */ private.原创 2022-04-06 16:11:29 · 994 阅读 · 0 评论 -
23种设计模式JAVA案例
设计模式JAVA案例源码地址:https://gitee.com/yang-kairui/design-pattern设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式分为三种类型,共23种:行为型模式:1、观察者模式定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。JAVA的JDK和很多框架都用到了观察者模式,最典型的比如说spring mvc中的DispatcherSe原创 2022-03-31 15:28:48 · 1350 阅读 · 0 评论 -
JAVA观察者模式(买彩票案例)
定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。JAVA的JDK和很多框架都用到了观察者模式,最典型的比如说spring mvc中的DispatcherServelet以及Zookeeper的动态监控注册中心,感兴趣的话可以去阅读一下源码如上图所示,服务号就是我们的主题,使用者就是观察者。现在我们明确下功能:1、服务号就是主题,业务就是推送消息2、观察者只需要订阅主题,只要有新的消息就会送来3、当不想要此主题消息时,取消订阅4、只要服务号还.原创 2022-04-01 11:16:25 · 2376 阅读 · 0 评论 -
JAVA工厂模式(手写Spring IOC案例)
通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。通过简单模拟spring的IoC容器来尝试工厂模式的使用:先请出主角ObjectFactory,他只有一个方法getObject(),用来生产对象@FunctionalInterfacepublic interface ObjectFactory<T> { /** * 返回由该工厂管理的对象的一个实例(可能是共享的或独立的)。 * @return 对象的一个实例 */ T.原创 2022-04-01 17:25:30 · 995 阅读 · 0 评论