写给萌新自己的设计模式——序

RT,这是写给萌新自己的设计模式,正确标题应该是“读《设计模式之禅》(以下简称《禅》)中的一点记录与理解”。

这里是一位刚开始走入IT行业,一脸懵逼的菜鸟程序员——提笔人如是说。


前辈说“多写写能有效地提高自己。”,这话很对,但错误在于我提起笔来就开始跑偏啊= =。删了N多流水账,开始正题。

设计模式Design pattern简单来说是一套前人总结的代码,它是四人帮碰见大神记得先拜几下)为后人总结出来的便于复用、经过时间考验的设计。如《设计模式》所言:

我们只收录那些在不同系统中多次使用过的成功设计。

如果说我们平时的代码都是自己一边模仿一边摸索写出来的,那么设计模式就是无数个人在摸索过程中同样得到的某种程度上的最优解。看了设计模式后,或许你会发现,原来自己摸索出来的某种写法还有着一个高大上的别名。

或许有人会觉得,就算没有学过设计模式,只用多看看代码就懂了,意义何在?但实际上,很多我们在用的工具类、框架等等,它们的设计中都用到了设计模式。如果我们事先学习了设计模式,那么它能帮助我们更好地了解它们的设计概念,减少了我们对源码阅读的复杂度,也让我们使用的更加顺手。(这是血泪的教训。想当初为了一个兼容问题,对着工具类的文档纠结了好久,然而最后得到的结果只是工厂模式的应用。)

在正式学习设计模式之前,我们首先要了解面向对象的六个设计原则(SOLID)。蛤?有人问我为何要了解面向对象的原则,萌新表示我只知道《设计模式》一书的副标题是可复用面向对象软件的基础

  • 单一职责原则Single Responsibility Principle定义

对一个类而言,有且仅有一个引起它变化的原因.

  • 里氏替换原则Liskov Substitution Principle定义

如果对每一个类型为S 的对象o1,都有类型为T的对象o2,使得已T定义的所有程序P在所有的对象o2都替换成o1时,程序P的行为没有发生变化,那么类型S是类型T的子类。

  • 依赖倒置原则Dependence Inversion Principle定义

1.高层模块不应该依赖底层模块,两者都应该依赖其抽象。
2.抽象不应该依赖细节。
3.细节应该依赖抽象。

  • 接口隔离原则Interface Segregation Principle定义

1.客户端不应该依赖它不需要的接口;
2.类间的依赖关系应该建立在最小的接口上。

  • 迪米特法则Law of Demeter定义

只与朋友交流.

  • 开闭原则Open Closed Principle定义

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

关于六个原则的详解,萌新表示自己的理解没有到位,只能找前辈的讲解给感兴趣的朋友们自己深究了。参考一参考二

写在最后

如《禅》的作者所说设计模式不是工具,而是指导思想。好好啃完设计原则,树立下正确的面向对象设计理念。带上《禅》作者一句建议:

结合情况使用原则。

那么接下来就要开始了解设计模式了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容