设计模式
saiuna
今天不学习,明天变辣鸡
展开
-
设计模式 (三)观察者模式
观察者模式 1. 定义 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 一个事件触发了一系列的事件,采用观察者模式,将各个事件分而治之。 2. 使用场景 游戏没少玩吧~刚接触编程时,被当初 玩游戏满脑子 if else 的天真想法 逗笑了哈哈哈, if(NPC) hi else if (Monster) fight ...... 时刻if else 游戏人物岂不是巨麻烦? 场景1 : 游戏玩家 对 NPC, 怪物、宝箱等不同事原创 2020-07-20 09:55:50 · 226 阅读 · 0 评论 -
面向对象的五大原则 之 单一职责和接口隔离原则
单一职责原则(Single-Responsibility) 一个类,最好只做一件事,只有一个引起它的变化。 问题由来: 类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 在没有看到这个之前,其实在实际开发中已经在使用了~可以说是常识。 例如:用户修改密码时, 流程 检查旧密码是否对得上 更新密码 记录操作日志 检查归检查,更新归更新,无论失败与否记录日志,各自执行各自,哪个环节出错找哪个环节,既:一环归一环。原创 2020-07-07 08:45:49 · 812 阅读 · 0 评论 -
设计模式(二)单例模式
单例模式单例模式概述1、单线程下的单例模式实现2、多线程下的单例模式实现2.1 内部类-延迟加载2.2 双重检查(Double-Check idiom)单例模式的优点单例模式的使用场景饿汉式 懒汉式的比较总结: 单例模式 概述 定义 : 确保一个类只有一个实例,并为整个系统提供一个全局访问点。 类型: 创建模式 结构: 1、单线程下的单例模式实现 立即加载 :** 在类加载初始化的时候就主动创建实例; 延迟加载 : 等到真正使用的时候才去创建实例,不用时原创 2020-07-06 16:14:46 · 232 阅读 · 0 评论 -
设计模式(一) 模板方法
知道得越多,不知道的越多 定义 模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构图及含义 类图符号意义 +:表示public- -:表示privat AbstractClass(抽象类):其实也就是一抽象模板,定义并实现了一个模板方法( templateMethod() )。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实...原创 2020-07-06 09:04:09 · 203 阅读 · 0 评论