首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
fulton
掘友等级
后台
|
美团
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
68
文章 68
沸点 0
赞
68
返回
|
搜索文章
赞
文章( 68 )
沸点( 0 )
Singleton pattern-单例模式
。。。。 单例模式有很多种实现方法。我们举三个经典的例子: 饿汉式是指用之前先准备好。 这种方式,我们常见于类加载中,其实我们不应该和前面两种并列看待。前面两种都是解决单个对象;注册式目的是为了维护多个对象的单例。
State pattern-状态模式
主要解决由于状态不同而导致对象行为发生复杂变化(特别是多种行为发生变化),这时候如果仅通过if来处理,会使代码复杂度不可控。我们保以认为strategy模式更多的是解决不同状态下,单行为的变化;而state-pattern则是解决不同状态下多行为的变化。 如果一个对象在不同的状…
visitor-访问模式
采用“双重委派”方式,使访问者和被访问对象进行隔离。有点难理解。。。。 它有一定的应用局限性,访问者和被访问者应该可被枚举,结构相对固定。比如说:运算符处理与数据结构的关系。(运算符+-*/可枚举,类型如String, int ,Object也是可以枚举的) 我们以处理运算表达…
Factory-pattern 三种工厂模式
主要解决创建复杂对象的问题。 当某一系列对象需要复杂的逻辑控制创建过程,过程创建过程比较复杂时,可以采用工厂模式。 类似于其名称,它适合于比较简单的场景,通过提供一个静态方法来创建对象。 这次我们去的是一个小饭店,就一个厨师,只会做西红柿炒鸡蛋和下面条。。。。。原理图如下所示 …
Proxy pattern-代理模式
一方面保证对象本身的行为聚合,避免非对象行为逻辑杂糅到对象行逻辑之中。另一方面,实现对象行为增强,通过代理织入代码,来增强对象的行为功能。 主要应用于代码织入。如常用的spring aop 就像我们去买二手房要经过中介一样,房主将房源委托给中介,中介将房源推荐给买方。中间的任何…
Iterator pattern-迭代器模式
提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。 作用主要用于对象的元素的遍历,相对于使用foreach,它可以屏蔽元素的集合的具体实现。 Aggregate:即聚合,比如Map, List, vector,当然也可以是一个直接对象,关键是你希望遍历…
Bridge-桥接模式
对象和行为自由组合。当不同的对象具有多种可枚举的行为,且不同行为的对象可被描述为不同的具体的对象,不同的行为与对象结合将产生大量具有差异性具体对象,为了防止对这些具体对象的枚举,将差异性的行为与对象本身分离出来。 比如游戏里面的英雄的装备与动作;描述不同汽车的行为(汽、油、电等…
mediator-中介模式
它解决的是对象之间复杂的交互问题。如果多个对象之间,需要进行某一种或者几种交互,那么可以通过一个中心(中介)来指导交互过程中行为,避免对象之间的复杂依赖关系。比如,生活中常间的租房。房东只需要将房源信息告诉中介,中介就会把信息推送给租房者,而且可以帮助租房者协调租金、签订合同、…
Adapter-适配器模式
所谓适配器模式,类似于电脑的各种端口,例如USB,只要实现了USB协议的终端都可以在电脑上使用,只需要提供相应的驱动(Adaptor)即可。Adaptor的目的就是屏蔽各种差异,使核心业务不受输入输出的影响。 它主要是解决代码耦合的问题,使业务之间能够很好的隔离;核心业务代码可…
Decorator_pattern-装饰器模式
动态地为对象添加功能,这是相对于继承而言的,继承是在定义类的时候扩展功能,而Decorator_pattern 可以在运行时,动态地为对象添加功能。 需要为对象添加一系列功能,但需要添加的功能只有在运行的过程才能知道。比如wikipedia 上举的咖啡的例子,客人要的咖啡可能需…
下一页
个人成就
文章被点赞
1,428
文章被阅读
153,577
掘力值
4,619
关注了
11
关注者
1,003
收藏集
1
关注标签
69
加入于
2016-12-16