摘要:装饰器模式decorator 需求:坦克想加一个外壳显示,想加一个血条,想加一个尾巴,子弹想加一个尾巴,子弹想加一个外壳...就是坦克想加一些装饰 可是使用继承,BloodTank继承tank,加血条,TailTank继承tank,加尾巴...缺点:不灵活,装饰者与被装饰者之间耦合太高 比如我想既加
阅读全文
|
随笔分类 - 设计模式
内功心法
摘要:装饰器模式decorator 需求:坦克想加一个外壳显示,想加一个血条,想加一个尾巴,子弹想加一个尾巴,子弹想加一个外壳...就是坦克想加一些装饰 可是使用继承,BloodTank继承tank,加血条,TailTank继承tank,加尾巴...缺点:不灵活,装饰者与被装饰者之间耦合太高 比如我想既加
阅读全文
摘要:调停者(mediator)与门面(facade) 以坦克大战为例,游戏里边有坦克,子弹,暗堡,坦克可以撞坦克,撞墙,撞暗堡,子弹可以撞坦克,之间有各种各样的关系,此外,另加一个事物也会增加与其他事物的联系。如果是这样的话,里边的关系会特别特别混乱,所以现在有这样一种需求,我一个tankFrame直接
阅读全文
摘要:工厂模式 简单工厂,静态工厂,工厂方法,抽象工厂,springIOC 工厂定义:任何可以产生对象的方法或者类,都可以称之为工厂 单例也是一种工厂 不可咬文嚼字,死扣概念 为什么有了new以后,还要工厂? 灵活控制生成过程 权限,修饰,日志... 需求1:某人每天需要出行,不定期换交通工具,如
阅读全文
摘要:策略模式 应用场景:comparator 先看需求: 实现一个排序器,要求可以对传入的任意类型数组都进行排序 猫数组排序,狗数组排序,只要有大小关系就可以排序,而这个大小关系是我们人为定义的,如狗的规则可以是饭量小的排前面,猫的规则是体重小的排前面等 先看排序器类:就一个简单的公共排序方法,里边使用
阅读全文
摘要:单例模式 应用场景:在内存中只有一个实例,如xxxFactory,xxxMgr 有八种单例,完美无缺的有两种,常用的却并非这两种 1、 package org.ali.singleton; /** * Author: lury * Date: 2022-09-04 8:35 * 饿汉式 * 类加载到
阅读全文
|