【设计模式】前言

本专栏内容均引用《大话设计模式》并做适当修改,

起因

有部分计算机专业的学生或有一定经验的在职开发者,他们都知道类、方法、构造方法、甚至抽象类、接口等概念,并用各种IDE写过不少的Windows或Web程序,但是当问到为什么要用面向对象,它的好处在哪里,却没有人能完整的讲出来,多数人的反应是,概念知道的,就是表达不清楚。

针对于此,在第一章中,将会以中国古代四大发明中活字印刷的例子,通过一个虚构的三国曹操作诗的情景,把面向对象的几大好处讲解一下,这样比直接告诉面向对象有什么好处更加容易理解和记忆

本专栏读者

虽然本转来不是给无任何编程经验的人看的,对于想入这一行的朋友来说,找一门编程语言,从头开始或许才是正道,而此专栏也不太适合有了多年面向对象开发经验,对于常用的设计模式了如指掌的人看的,毕竟这里更多的是一些基础的东西

本专栏阅读方法

建议按顺序阅读,如果您感觉由于面向对象知识的匮乏,例如对继承、多态、接口、抽象类的理解不足,造成阅读上的困难,不妨先阅读附一的“培训实习生——面向对象基础”部分,然后再从第1章开始阅读。如果您已经对不少设计模式熟悉,也不妨挑选不熟悉的模式章节阅读。

关于本专栏的疑问解答

  1. 本书需要什么基础?

主要是C#或其他编程语言的基础知识,如变量、分支判断、循环、函数等编程基础,关于面向对象基础可参看本书的附录一。

  1. 设计模式是否有必要全部学一遍?

答案是,Yes!别被那些说什么设计模式大多用不上,根本不用全学的舆论所左右。尽管现在设计模式远远不止23种,对所有都有研究是不太容易的,在学习总结的23个设计模式过程中,你会被那些编程大师们进行伟大的技术思想洗礼,不断增加自己对面向对象的深入理解,从而更好的把这种思想发扬光大。这就如同高中时学立体几何感觉没用,但当你装修好房子购买家俱时才知道,有空间感,懂得空间计算是如何的重要,你完全可能遇到买了一个大号的冰箱却放不进厨房,或买了开关门的衣橱(移门不占空间)却因床在旁边堵住了门而打不开的尴尬。

重要的不是你将来会不会用到这些模式,而是通过这些模式让你找到“封装变化”、“对象间松散耦合”、“针对接口编程”的感觉,从而设计出易维护、易扩展、易复用、灵活性好的程序。成为诗人后可能不需要刻意地按照某种模式去创作,但成为诗人前他们一定是认真地研究过成百上千的唐诗宋词、古今名句。

如果说,数学是思维的体操,那设计模式,就是面向对象编程思维的体操。

  1. 我学了设计模式后时常会过度设计,如何办?

建议,暂时现象,继续努力。

设计模式有四境界:

1.没学前是一点不懂,根本想不到用设计模式,设计的代码很糟糕;

2.学了几个模式后,很开心,于是到处想着要用自己学过的模式,于是时常造成误用模式而不自知;

3.学完全部模式时,感觉诸多模式极其相似,无法分清模式之间的差异,有困惑,但深知误用之害,应用之时有所犹豫;

4.灵活应用模式,甚至不应用具体的某种模式也能设计出非常优秀的代码,以达到无剑胜有剑的境界。

不会用设计模式的人要远远超过过度使用设计模式的人,从这个角度讲,因为怕过度设计而不用设计模式显然是因噎废食。当你认识到自己有过度使用模式的时候,那就证明你已意识到问题的存在,只有通过不断的钻研和努力,你才能突破“不识庐山真面目,只缘身在此山中”的瓶颈,达到“会当凌绝顶,一览众山小”的境界。

编程语言

本专栏所使用的语言均为JAVA,但也同样适用其他一些面向对象语言的读者阅读来学习设计模式

(0)

相关推荐

  • 程序猿必备系列:开发者的蓝图之初探分类

    导语:前天端午想着努力再更一篇,没想到被各种杂事耽搁了,先给大家补个端午安康.上一篇忙着说设计模式有多重要了,反而关于设计模式本身介绍的有点少,这一篇给大伙好好说说设计模式的到底有哪些. 这次就不扯闲 ...

  • 知识库大放送——Python简介

    大家都知道,Python是一个依赖强大的组件库完成对应功能的语言.近几年Python市场异常火热,越来越多的人开始进军这一领域,今天就带大家了解以下Python. Python([KK] 英语发音: ...

  • 设计模式-概述

    面向对象 特性 封装:隐藏内部实现: 继承:复用现有代码: 多态:改写对象行为. 目标 面向对象设计的目标是设计出高内聚.低耦合的应用程序,最大程度的实现程序的复用,以应对复杂的需求变化. 设计原则 ...

  • JavaScript设计模式基础(一)

    模式的起源 模式 起源于建筑学.20世纪70年代,哈佛大学建筑学博士Christopher Alexander和他的团队花大约20年,来研究为解决同一个问题而设计出的不同建筑结构,从中发现那些高质量设 ...

  • 《周易登堂》前言

    <易经>起源于伏羲八卦.相传夏时有<连山易>,商时有<归藏易>,而周时有<周易>.<连山易><归藏易><周易>是不断 ...

  • 『高血压营养康复食谱』前言 (作者:于康)

    我们的营养 我们知道,人体为了生存和生活必须摄取食物,以维持正常的生理.生化.免疫.新陈代谢,以及生长发育等活动.食物在体内经过消化.吸收.代谢,促进机体生长发育.益智健体.抗衰防病.益寿延年的综合过 ...

  • 设计模式:超越软件与设计的模式语言

    最近看了一本书<架构启示录>,书中研究传统的建筑工作与数字产品的架构工作之间有着怎样的联系,重点探讨了Christopher Alexander.Richard Saul Wurman.C ...

  • 【《名方广用》门纯德 】前言 一

    <名方广用>门纯德 门纯德,字秉洁,(1917--1984),河北尉县人.幼年时期,家境贫寒,17岁开始中医,1954年响应党的号召,先在山西广灵县医院工作,后调晋北卫校任教,1962年调 ...

  • 字节大牛总结的设计模式火了

    据说有小伙伴靠这份笔记顺利进入 BAT 哦,所以一定要好好学习这份资料! 资料介绍 这份资料非常全面且详细,覆盖了 设计模式 基础学习的方方面面,非常适合初学者入门! 资料也按目录进行编排,每一章下面 ...

  • 嵌入式C语言开发者必知:“设计模式”

    介绍如何使用设计模式为嵌入式系统创建高效且优化的C语言设计.针对嵌入式系统中从内存访问到事件调度,从状态机设计到安全性.可靠性保证,对系统设计以及性能表现的方方面面进行了详细阐述,也提出了很好的设计规 ...

  • 设计模式(一)——Java单例模式(代码+源码分析)

    设计模式(一)——Java单例模式(代码+源码分析)

  • 长篇小说《经商经伤》前言

    前 言 这是一部现实主义讽刺小说,就像一个小窗口,映射出了人生百态,且很有巴尔扎克的文风.语言自然流畅,细节描写生动逼真,人物刻画形象鲜明,让人迫不及待地根据作者的思路情节追随下文-- 人和动物最基本 ...

  • 长篇自传连载 | 自叙人生路:前言

    自叙人生路 文/仇叶祥 引  子   人出生后,都有一条属于自己的路.这条路有平坦的,也有坎坷的.人生之路在历史长河中,只是一瞬间,但对个人来说,一步一步走过来极不容易.每个人走过的路都会留下不同的脚 ...