设计模式系列(目录)

设计模式

设计模式并没有想象中的高大上,在你平日的开发和使用中,也一定有使用到过

什么是设计模式?

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

你可以理解为,遇到某一种问题,设计模式帮助我们提供了一种解决方案,我们通过学习设计模式可以简化其中的解决过程。

没有设计模式之前:

遇到问题 -> 分析问题 -> 设计解决方案/不知道如何设计 -> 实现方案/放弃 -> 发现方案不足/方案设计完善-> 问题未得到完全解决/问题解决

有了设计模式:

遇到问题 -> 分析问题 -> 发现符合某一种设计模式的场景 -> 问题解决

可以看出来,问题的解决并非是一帆风顺的,很多时候就好像建造大楼的工程,如果你手里面只有泥瓦匠,你可能只能造出来一个小厕所,但是摩天大楼就无法办到了。
而设计模式就是在以往的盖楼房过程中遇到的经验总结,可以帮助我们快速的套用这些模式,来解决盖高楼的问题。

为什么要使用设计模式?

使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样

注意:

  1. 设计模式是在我们常见的开发中灵活使用的,并非什么高大上的存在,也不是必须的存在。
  2. java开发者请注意,JDK提供的API、spring、java的规范、已经贴心的 实现了很多开发中常用的设计模式。所以你在学习中可能会产生一种设计这个模式
    的人是智障么?(我本来就是这么用的/这么简单的事情还要条条框框的束缚/这设计模式也太low了)之类的感觉。但是请注意:设计模式并非人为设计出来,
    而是在以往的工作经验中总结出来的解决问题的方案,离开了问题,设计模式也只剩下装逼二字。

设计模式

分类总计有三大类 共计23种设计模式

1. 第一类 创建类型
    a. 本质:创建对象的模式,对类的实例化进行抽象
    b. 特点:
        i. 封装了具体类的信息
        ii. 隐藏了类的实例化的过程
    c. 5种设计模式
        i. 单例模式 singleton
        ii. 工厂方法模式 factory Method
        iii. 抽象工厂模式 abstract Factory
        iv. 建造者模式 bulder
        v. 原型模式(原始模式) prototype
2. 第二类 结构类型
    a. 本质: 处理类或者对象的组合
    b. 两种类型:
        i. 类结构类型: 采用继承机制来组合接口实现
        ii. 对象结构类型 组合对象的方式来实现新功能
    c. 7种设计模式
        i. 适配器模式 adapter
        ii. 桥梁模式 bridge
        iii. 装饰模式 decorator
        iv. 门面模式 facade
        v. 合成模式 composite
        vi. 享元模式 flyweight
        vii. 代理模式 proxy
3. 第三类 行为类型
    a. 本质: 对在不同的对象之间划分责任和算法的抽象化
    b. 两种类型: 
        i. 类的行为模式 使用继承关系在几个类之间分配行为
        ii. 对象的行为模式 使用对象聚合的方式来分配行为
    c. 11种 设计模式
        i. 模板方法模式 template method
        ii. 迭代器模式 iterator
        iii. 命令模式 command
        iv. 观察者模式 Observer
        v. 调停者模式 mediator
        vi. 状态模式 state
        vii. 策略模式 strategy
        viii. 责任链模式 chain of responsibilty
        ix. 访问者模式 visitor
        x. 备忘录模式 memento
        xi. 解释器模式 interpreter
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,777评论 25 707
  • 每个月的例会,老板都会大老远跑到公司来开会。往往他参加的会议都会变成了新项目讨论会。他总是会有各种想法,每次丢出一...
    谷珊阅读 392评论 0 0
  • 今年论文写毕之余读的第一部小说,也是本月首部,桐华的《那些回不去的年少时光》。 呵呵,其实这书是在研究室楼下漂流书...
    王红春不雨棠梨阅读 291评论 0 0
  • 今天看到前微软vp陆奇加盟百度的消息,突然间这些年关于微软的消息突然历历在目。 牛人高飞,产品坠地 大公司管理层的...
    于莱阅读 330评论 0 1
  • 第七章 You are my sunshine 第二天考试,七末早早交了卷,四级的题毕竟不难,昨天就跟林阳约好,结...
    白日做梦731阅读 377评论 0 1