文章列表
责任链模式 责任链模式: 把要处理消息的对象串成一条链,让链上的对象依次处理消息 通常责任链的实现是通过链表结构,或者容器来实现,目的则是为了解耦,满足开闭原则,增加拓展性,可以通过配置文件动态来加载拦截对象,使得代码更加灵活
策略模式 策略模式:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码) 具体实例,一般是抽象接口,不同策略类继承实现接口,策略类多的话可以用工厂统一管理,创建 场景: 1.一般是要有if判断类型使用不同策略能达
模版模式 模版模式:在父类中定义模版,执行抽象,子类继承实现 官方译文: 模版方法在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。 主要是为了复用和拓展,复用模版,拓展函数实现 和同步的接口回调很相似,接口回调比模版更加灵活,无需继承,即调即用 同一个类里面不同模版的抽象方法必须实现。
观察者模式 观察者模式:也叫订阅模式,在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有的对象自动收到通知 被观察者发生状态改变,观察者响应 场景:将不同行为进行解耦,使得类职责更加单一,更加符合开闭原则,高内聚,低耦合,来控制代码的复杂度。 产品设计:邮件订阅,EventBus,And
享元模式 享元模式:共享对象,复用对象 比如,棋盘里的象棋类,只用建立三十个,就可以在棋盘里满地跑,唯一变动的是坐标,假如有10w个棋盘,120w琪子,其实只建立了120w个坐标和30个象棋类,大大减少了内存 在比如 文字编辑琪,变动的只是文字,里面的格式类是可以复用的,颜色,大小,字体组成的风格类
组合模式 组合模式:将一组对象组织成树结构,来表示整体和部分的层次结构 ,利用树形结构,可以递归处理子树,依次简化代码 比如 文件夹与文件 可以抽出公共的父类,抽象文件大小与文件数量,使得文件与文件夹继承 文件夹里在拥有一个文件的list来添加文件 类似的场景还有 部门与员工,部门拥有员工,可以组织
门面模式 门面模式:也叫外观模式,为子系统提供一组统一的接口,定义一组高层接口让子系统更易用 例子 比如A系统提供a,b,c,d四个接口,其中一个业务需要使用a,b,d接口,此时我们可以将这三个接口包装成一个接口,让客户端更好的调用,为什么三个接口,是为了复用和遵循接口单一职责 应用场景 : 1.解
适配器模式 通过继承或者组合的方式将一个不兼容的接口转换为兼容的接口 接口不多,继承和组合都可以用 接口多 很多Adaptee与ITarget定义接口大部分相同 用继承方式 类适配 接口多 很多Adaptee与ITarget定义接口大部分不同 用组合方式 对象适配 应用场景 1.封装有缺陷的接口设计
装饰模式 装饰类通过继承原始类和依赖依赖原始类来拓展原始类的功能,而且还可以嵌套多个装饰类 应用场景:为对象动态添加功能
桥接模式 桥接模式:将抽象部分与实现部分分离,使他们都可以独立的变化 假如你有笔的类 笔分铅笔 毛笔 钢笔 而且每支笔都有自己的颜色 红绿蓝等,我们就可以把颜色单独分离出来,使用组合的方式来表示什么颜色的什么笔 感觉像是把复杂的业务抽出类来,分别实现自己的功能,再用组合 在举个例子 你的一个功能类,
这就是我
文章
分类
访问量
建站天数
标签目录
最近评论