美文网首页程序员
写给萌新自己的设计模式——序

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

作者: forip | 来源:发表于2016-10-22 17:01 被阅读0次

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定义

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

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

写在最后

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

结合情况使用原则。

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

相关文章

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

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

  • 「小游戏」《萌宠往前冲》高分技巧

    萌新入门手册 《萌宠往前冲》小游戏的游戏模式为无尽模式,在游戏中并没有关卡的设计,理论上玩家可以一直玩到手机没电为...

  • 太原,这是我曾经和现在居住的城市,记录一个前端仔的三年。

    前言 这篇文章写给准备踏入互联网的萌新,写给从培训出来之后回到二三线城市的童鞋,也写给在太原切图三年的自己,致敬这...

  • Android状态模式的几种应用场景

    序 最近事情太多,好久没写博客了, 想来之前的设计模式系列还有好几种设计模式没说, 正好最近写代码用了状态模式, ...

  • 写给自己的序

    曾经在安妮宝贝的一本书看过这样一句话,很是认同,于是便记了下来。那句话是这么说的:写作是一条个人道路,无需奢求理解...

  • 写给自己的序

    我把来到这里当成一个契机,像流浪的心停靠一个港湾。 好好的,轻轻的,慢慢的开始整理自己的心,一...

  • 61 - 策略模式实战

    设计原则和思想其实比设计模式更加普适和重要,掌握了代码的设计原则和思想,甚至可以自己创造出来新的设计模式 问题与解...

  • 读书笔记-《重构,改善既有代码的设计》

    《重构,改善既有代码的设计》 著:Martin Fowler 译:熊节 序 在设计前期使用模式常常导致过度工程,“...

  • 谈谈我对 MVP 的理解

    说实话,MVP 这种模式或者说设计思想也已经出来很久了,现在最新的使用的是 MVVM 设计模式,不断对于萌新来说,...

  • Head First设计模式开篇讲解

    Head First设计模式 大纲 学习如何将两个设计模式结合起来成为新的设计模式, 例如MVC模式 四个OO设计...

网友评论

    本文标题:写给萌新自己的设计模式——序

    本文链接:https://www.haomeiwen.com/subject/tcicuttx.html