`

设计模式开篇

阅读更多
提到设计模式,我们会经常这样听说:"我也看过很多的设计模式,但在实际的项目中从来没有用过"。这的确是我以及很多人遇到的情况,那些设计模式都能看懂,但就是在项目用不到,总感觉纸上谈兵,落实不到我们具体的项目上。

我的个人观点:
(1) 对设计模式的理解还不够深入
    首先我们要对设计模式所要解决的问题要理解透彻,即什么样的场景适合用这个设计模式。然后就是这个设计模式是如何解决的?解决方式的亮点在哪里?如需求增多时,如何更好地扩展。设想一下,给出一个设计模式,你闭上眼睛能完整的说出它的适用场景和解决方案吗?能给出相应的案例吗?能结合具体的案例来谈谈吗?而我们大部分仅仅是能看懂,完全还没有转化成自己的知识。
(2)做实际项目时缺乏抽象
   即使你对设计模式的理解还可以,然而在做实际的项目时,我们几乎是将这些设计模式完全抛之脑后,以临时业务解决方案匆匆应对不断增多的需求。缺乏对需求不断增多的前瞻性,缺乏从实际业务中进行抽象提取出通用的模式,进而出现设计模式适用场景的雏形。

我个人的努力方向:
(1)看设计模式的书籍
  看一些经典的设计模式的书籍,最重要的是希望不要走马观花,要细细品味,然后博客记录,加深理解,乃至根深蒂固。
  多阅读框架源代码,框架源代码中使用了很多的设计模式,我们要学习学习,他们是如何使用的,如何来解决扩展性问题来应对复杂的需求。
(2)在做实际项目的时候,多进行抽象性的总结,不要让杂乱无章的实际需求浑浊了我们的代码,从杂乱的需求中找到问题的根由和本质。

总之,代码能否成为艺术,关键就在于我们采用什么样的态度来面对他们。希望能够与君共勉。
分享到:
评论

相关推荐

    C语音设计模式

    开篇.pdf 继承、封装、多态.pdf 备忘录模式.pdf 工厂模式.pdf 模板模式.pdf 中介者模式.pdf 策略模式.pdf 观察者模式.pdf 桥接模式.pdf 装饰模式.pdf 抽象工厂模式.pdf 适配器模式.pdf 状态模式.pdf 代理...

    界面设计模式第二版 原版

    《界面设计模式(第2版)》开篇即总结了“与人有关”的各类问题,为读者提供了界面设计总体思路上的指引,帮助读者举一反三。  接下来,《界面设计模式(第2版)》收集并分析了很多常用的界面设计模式,帮助读者...

    C语言设计模式

    $ ls 备忘录模式.pdf 工厂模式.pdf 模板模式.pdf 中介者...迭代器模式.pdf 开篇.pdf 原型模式.pdf 访问者模式.pdf 命令模式.pdf 责任链模式.pdf $ http://blog.csdn.net/feixiaoxing/article/category/951264的mirror

    界面设计模式

    , 同时,随着网络和技术的不断发展,本书在第1 版的基础上,更新了几乎所有的模式示例和说明,并新增了两章全新的移动应用和社交媒体设计模式,帮助读者在这两个新的领域从更高的起点开始设计。, 有效的界面设计,从...

    无废话 C# 模式设计,整理自LoveCherry的博客

    本系列一共有20篇左右,除了介绍23种GOF设计模式中常用的一部分之外(一些设计模式的思想在C#语言中有了更简单的实现,一些设计模式不是很常用)还可能会介绍一些其它有用的设计模式。在这些文章中,我不会过多去说...

    JavaScript设计模式之单例模式详解

    这一次重温一下《JavaScript设计模式与开发实践》,开篇为单例模式。 /** * pre 单例模式 * 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点 * 应用:单例模式是一种常用的模式,有一些对象我们...

    设计模式的前奏----UML和设计模式的原则

    开篇我想上两幅图,是Objective-C ...------设计模式的前奏----UMLUML(UnitedModelingLanguage),统一建模语言,是一种基于面向对象的可视化建模语言.UML采用了一组形象化的图形(如类图)符号作为建模语言,

    javascript设计模式之解释器模式详解

    在开篇之前还是要科普几个概念:抽象语法树:解释器模式并未解释如何创建一个抽象语法树。它不涉及语法分析。抽象语法树可用一个表驱动的语法分析程序来完成,也可用手写的(通常为递归下降法)语法分析程序创建,或...

    系统架构技能之设计模式-单件模式

    一、开篇其实我本来不是打算把系统架构中的一些设计模式单独抽出来讲解的,因为很多的好朋友也比较关注这方面的内容,所以我想通过我理解及平时项目中应用到的一些常见的设计模式,拿出来给大家做个简单讲解,我这里...

    asp.net知识库

    2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...

    全方位深入解析最新版SpringBoot源码.txt

    ...4-1 博览群书:***设计模式介绍4-2 力学笃行:动手实现***设计模式4-3 枝对叶比:框架内***设计模式实现4-4 恍然大悟:监听事件触发机制解析上4-5 醍醐灌顶:监听事件触发机制解析下4-6 学以致用:自定义***实战4...

    php模式设计之观察者模式应用实例分析

    开篇还是从名字说起,“观察者模式”的观察者三个字信息量很大。玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色叫“观察者”。在我们今天他谈论的模式设计中,观察者也是如此。首先,要有...

    搞定后台架构实战指南课2022

    │ 开篇词 跳出单点思维模式,才能真正理解架构设计.mp4 │ 01 为什么不同类型的业务后台架构模式是通用的?.mp4 │ 05 如何做到异构数据的同步一致性?.mp4 │ 07 如何基于流量回放实现读服务的自动化测试回归...

    C++网络编程 卷1 运用ACE和模式消除复杂性.part2/2

    然后,针对开发灵活、高效的并发式网络应用程序的需要,本书提供了重要的设计空间、模式和原则。本书作者从专家角度向你展示,在运用C++和模式效地开发面向对象网络应用时,应当如何提高你的设计技能。 包括中英文版...

    C++网络编程 卷1 运用ACE和模式消除复杂性.part1/2

    然后,针对开发灵活、高效的并发式网络应用程序的需要,本书提供了重要的设计空间、模式和原则。本书作者从专家角度向你展示,在运用C++和模式效地开发面向对象网络应用时,应当如何提高你的设计技能。 包括中英文版...

    Java 性能优化实战 21 讲2021年

    │ 11 案例分析:如何用设计模式优化性能.mp4 │ 12 案例分析:并行计算让代码“飞”起来.mp4 │ 14 案例分析:乐观锁和无锁.mp4 │ 16 案例分析:常见 Java 代码优化法则.mp4 │ 17 高级进阶:JVM 如何完成...

    创业公司做数据分析(一)开篇

    比如学习一个新的技术框架,需要逐步搞清楚她是什么、如何使用、为什么这样设计,由浅入深。 “WHY+HOW+WHAT”,是笔者最钟爱的一种思维模式。其使用方法不仅限于上述认知过程中的思考方式,通过不同的顺序组合,...

Global site tag (gtag.js) - Google Analytics