首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
BingoCode27285
掘友等级
Android
勇气的赞歌
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
29
文章 27
沸点 2
赞
29
返回
|
搜索文章
最新
热门
模板方法模式
将一系列操作步骤定义在抽象中形成算法框架,而将一些步骤延迟到子类中去实现。一般是将相同代码抽取到父类,然后通过钩子函数约束其行为。优点是提取公共代码,便于维护,缺点是可读性降低。
迭代器模式
在遍历容器对象的场景下,在客户类与容器之间插入一个迭代器,实现顺序访问容器中的各个元素,同时又不暴露该容器对象的内部表示。
备忘录模式
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。
观察者模式
定义对象间的一对多的关系,使得当一个对象改变状态,所有依赖于它的对象都会得到通知并自动更新。优点是被观察者和观察者是抽象耦合,提高系统灵活性,缺点是开发调试变复杂,而且java消息通知默认是顺序执行,一个观察者卡顿会影响整体执行效率,所以一般采取异步形式。 Subject ——…
命令模式
将一系列方法调用封装,用户只需调用一个方法执行,这些封装好的方法就会被挨个执行调用。通常是将请求封装成一个对象,对请求进行排队以支持撤销等动作。优点也是降低耦合,但同时导致类膨胀。类似于java线程池中的队列,工作队列只负责取出任务,执行execute方法,不关心传入什么。 命…
解释器模式
提供一种解释语言的文法或表达式的方式,每个解释器对应一条文法,通常有个统一的抽象解释器,分为终结解释器和非终结解释器两种实现,从而实现具体的解释操作。类似于在Java这种高级语言之上再次定义一种语言的编译器,然后在不改动这个编译器的条件下,也就是不改变Java代码就能够随意的书…
责任链模式
Handler1,Handler2——具体处理者。需要设置等级,下一个节点对象字段,实现handle方法
状态模式
与策略模式结构一样,但目的和本质不同。状态模式的行为是平行的,不可替换的;策略模式的行为是相互独立可替换的。状态模式是把对象的行为包装在不同的状态对象中,让对象在其内部状态改变时行为也随之改变。优点同样是可扩展性和让代码清晰;缺点也是增加类和对象数量。
策略模式
提供一个接口,用该接口的不同的实现类封装一系列算法(策略),它们可以相互替换以满足不同的业务需求,在客户端就可以通过注入不同的实现对象来实现算法和策略的动态替换。优点是扩展方便,封装彻底;缺点是随着策略增加子类变多。
抽象工厂模式
为创建一组相关联或相互依赖的对象提供一个接口,而不需指定它们的具体类。与之前的工厂方法模式区别是抽象工厂有多个,并且每个具体工厂可以创建多个产品。优点是分离接口与实现,让客户端面向接口编程。缺点也是工厂类过多要谨慎;还有也不太好扩展产品因为增加一个产品就需要修改抽象工厂。
下一页
个人成就
文章被点赞
20
文章被阅读
20,340
掘力值
361
关注了
16
关注者
13
收藏集
2
关注标签
46
加入于
2017-08-10