导图社区 设计模式
分支内容包括:封装对象创建、封装算法、封装行为、封装状态、保证只有一个案例、解耦数据依靠、封装调用、封装对象合集、扩展新行为、封装接口。
创新思维之微创新头脑风暴,用一种与众不同的方法从现实接近理想,用第一性原理来找到真正要解决的问题。
剪辑视频培训要点,剪辑基本规则,剪辑手法及蒙太奇技巧,剪辑基本规则要了解镜头素材的选择、剪接点的确定、镜头长度的确定、剪辑中的景别安排、剪辑中的匹配原则、剪辑中运动的表现。
本图介绍了架构师的基础技术、开源项目、设计理论、架构模式、综合能力,如编程语言、操作系统、网络、底层技术、数据结构和算法、安全的基本技术。
社区模板帮助中心,点此进入>>
互联网9大思维
产品立项报告
产品经理如何做好项目管理
经验分享:产品经理必懂的产品思维
产品诞生过程
产品周期图
开门红的思考
招创智搜
网易星球
教学教务系统
设计模式
封装算法
模板方法模式
提供算法步骤的模板
由子类实现某些具体算法
可提供钩子函数
采用继承方式
封装行为
策略模式
将某种行为定义为接口
将某种行为的实现方式为具体类
使用组合方式
封装状态
状态模式
将所有动作封装到一个抽象类
将所有状态实现为一个具体类
每个状态类实现自己对于不同动作的方法
根据内部状态改变行为
解耦对象数据依靠
观察者模式
主题:需要通知那些观察者?
主题提供注册接口
主题:如何通知观察者?
观察者提供更新函数
数据传送方式
推
在观察者更新函数中传递
拉
观察者调用主题相关接口获取
扩展新行为
装饰者模式
装饰者与被装饰者为同一类型
装饰者拥有被装饰者引用
装饰者依赖于被装饰者实现某些行为
装饰者添加行为
装饰者依然可以被装饰
封装接口
适配器模式
适配器与目标对象同类型
适配器包含被适配对象应用
适配器委托被适配对象完成目标对象功能
类适配器,使用多重继承
外观模式
简化接口,委托其他类执行
可包含多各类
复合模式
M(module)模型
C(controller)控制器
V(view)视图
组合模式
封装访问
代理模式
客户端:stub提供服务端接口
服务端:skeleton提供客户端接口
stub与skeleton中间通过某种方式通信
使用场景
和远程对象交互
远程代理
访问实例化开销大的对象
虚拟代理
控制访问
保护代理
缓存、同步、防火墙、写入时复刻
封装对象集合
迭代器模式
集合提供获取迭代器对象方法
迭代器对象提供遍历相关函数
hasNext()
next()
remove()
采用树状结构管理多个对象
对外屏蔽内部结构,提供统一方法
封装调用
命令模式
命令对象包含包含执行者
命令对象提供EXECUTE接口,调用执行者动作
调用者提供设置命令接口,保存命令对象
调用者调用命令对象EXECUTE接口
实现撤销
命令对象提供undo接口
实现宏指令
包含多个执行者
实现命令队列、线程池、日志
保证只有一个实例
单件模式
私有化构造函数
根据需要,处理复制构造与赋值构造
提供static实例化函数
保存指向实际对象的指针
多线程问题
同步实例化函数
急切话创建实例
双重检查加锁
封装对象创建
简单工厂模式
创建者类提供创建产品类的方法
创建产品类的方法返回实际产品类对象
简单工厂作为其他对象使用的对象
工厂模式
定义创建产品类的方法接口
可能包含其他步骤
由子类决定创建何种产品
使用工厂的类,继承工厂
抽象工厂模式
定义一组创建产品类的方法接口
通过工厂模式实现每个创建接口
使用组合来利用抽象工厂