让设计模式飞一会儿|①开篇获奖感言

从今天开始记录设计模式相关知识。在后续的文章中,我会尽量用生活中熟悉场景作为例子解释。当你真的学完每一个设计模式,并有过一些思考,会发现设计模式不再枯燥乏味,生活处处都会有它的身影。
另外,在技术领域,设计模式大量存在于各类主流开源框架中,其中以Spring,Mybatis等为典型代表,设计模式在其中被运用的炉火纯青。后续我也会挑选一些自己了解过的源码结合着聊。当你看懂其中的运用,你会不由赞叹设计者构思之精巧。
总体来讲,我希望我的文章不会是循规蹈矩,严肃死板的,以一种比较轻松、随意的风格进行的。文章的篇幅尽量简短精炼,能用一句话讲清楚绝不赘述。而且设计模式中,其实常用的模式就那么几种,所以我写的过程会有主次之分,重要我会详解,简单的或者几乎不用的模式我就一带而过了。当然如果大家有啥好的建议也可以告诉我。
今天是开篇导言,不涉及具体的模式的内容讲解,但是开宗明义,我还是想简单讲一下设计模式相关的概念。
❓设计模式到底是什么?
在这里我就不把设计模式的概念复制一遍了,我写着累,你们看着也累,而且前面说了,这个系列文章我尽量想用比较轻松、随意的风格写。总结起来就一句话,设计模式就是一些过去技术的大师们总结出来的一系列写代码的套路
大佬们经过实践总结又将其这些套路分为三类,创建型、结构型、行为型
顾名思义,创建型模式,是为了创建对象使用的,至于为什么创建个对象(直接new一个不就完事了吗)还需要如此多不同的套路,后续你就知道,这边不赘述。结构性模式,是用来组织不同的小对象,从而变成更大更复杂结构的对象。行为型模式,是用来控制协调不同的对象的运行流程,因为实际开发场景下,不可能是孤零零一个对象在运行,会涉及多个对象交互,这中间的协调工作就会使用到行为型模式。
每一类型的模式都包含多个具体模式,如下图。后续每篇文章都会对其中一个模式做详解剖析,这边就不再赘述。
在这里插入图片描述
❓这些套路到底好在哪里?

很多人学设计模式觉得很难,很重要原因是,不知道这个模式到底好在哪里?解决了什么痛点?我能用它来干啥?所以只能生搬硬套。其实模仿也是无可厚非的,进步就是从模仿优秀者开始的。但是如果想要能驾驭一门知识,还是需要了解其本质的。
所以这边需要提一下一个跟设计模式紧密相关的概念——面向对象的七大设计原则。其实,如何评判一个设计模式好坏,就是用这七个原则来衡量的。这些原则有开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则、组合聚合复用原则。还是比较抽象的,但是我这边就不展开了,大家也没必要去死记硬背这些原则,没意义。后续在讲到每个设计模式的优缺点时候,我会穿插提到这些设计原则,到时再做详解。

❓设计模式一定需要用吗?
这边先泼个冷水,这个设计模式系列你看完,你还真不一定能立刻用上,甚至有的时候你用了还是画蛇添足,会给应用带来一些不必要的问题和麻烦。尴尬…设计模式对不同层级的程序(应用层级、类库层级、框架层级)重要性不一样。设计模式更多可能会用在一些类库和框架的设计,或者对老项目重构,在业务逻辑开发中使用的比较少,甚至会引入不必要的复杂度。
当用则用,不合适,或者感觉没把握,千万不要强上!?当你的开发受到阻碍,亟需一条出路,哎,这个时候设计模式可以登场了…

❓那这是为什么呢?
因为像类库框架这类产品,会被不同的人大量重复使用,所以对其重用性、扩展性、灵活性有很高的要求。而对于普通的业务逻辑开发,这方面要求较低。

❓怎么办?
还能怎么办?学呗…?下一篇我就会开始写第一个设计模式——单例模式,让咱们一起探讨设计模式的奥秘吧。不见不散。??

一行小字…

我还没用过lambda,有人这样说…
先看设计模式 然后学lambda 然后告诉你 很多设计模式可以用lambda解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值