【设计模式】设计模式总览-----程序员的九阳神功
【前言】
但凡男孩子,大多都曾有个大侠梦,修得一身武艺,仗剑行侠世间。我小的时候就特别羡慕张无忌,希望自己有朝一日也能练成九阳神功,从此世间虽大,何处不可去的……奈何,,如今成为了一个程序员…… 那么我们就来看看专属于程序员的九阳神功——设计模式吧。
【正文】
一、什么是设计模式?
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。——来自百度百科
显而易见的使用设计模式的作用是:增强代码可重用性,可理解性,可靠性。 而设计模式本身则是一些常用代码形式的抽象。
那么设计模式中都有哪些内容呢?
内容如下:
注:
*1:开单车(合)一里地 六大指导原则的首字 。
*2:创建型(六)代表创建型中有六种模式。
具体的六大原则内容与每种类型的模式,在本篇中先不多说。以后陆续写专题
推荐一篇讲述 框架 设计模式 架构间区别的一篇文章 http://blog.csdn.net/changyinling520/article/details/49448229
二、为什么要用设计模式?
我个人感觉主要有三点:
1. 方便维护,复用
2. 方便大家交流(因为有统一的这么一套东西,提一个名字,就知道这类代码是 什么样,交流起来就很简单)
3. 更好的理解面向对象编程的概念。
这个部分,我觉得听听专家的好。。
这个问题刘伟老师写的一篇博客总结的很全面http://blog.csdn.net/lovelion/article/details/7420866
三、怎么学设计模式、设计模式学到什么程度?
这个问题一定是很多同学头疼不已的,我觉得关于每个设计模式只要掌握如下图几点即可:
【总结】
但凡内功心法,少有一蹴而就的~ 自然,设计模式也不可能一学就会,还是要做好长期实践,逐步摸索的心里准备。在学习时,能记住UML结构图,关键代码,知道用这个模式是解耦还是封装变化,通过增加类还是其他手段解决问题。最后明白该模式在什么时候使用,并能想出一个生活中的例子,一个编程中的例子,就算了解的相对全面了。
【设计模式】设计模式总览-----程序员的九阳神功相关推荐
- 设计模式大集锦 程序员面试全攻略
一.入门级程序员的面试题: 这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你 ...
- 设计模式-单例模式扩展(程序员学习之路-架构之路)
大家好,接着上一篇文章,我们继续了解单例模式的扩展功能以及一些注意的事项! 上一篇我们说道,当为懒汉式单例模式的时候,可能存在线程并发导致实例出现多个的问题,这个问题,在Net中通过Lock加锁来实现 ...
- 宅男程序员给老婆的计算机课程之5:设计模式
设计模式,应该是很多ED心目中牛B的编程方式. 上回说到ED的好书POEE,实际上便是一本专门讲企业开发中使用的设计模式中的书. 设计模式,并不多,基本上看完GoF的这边<Design Patt ...
- 程序员新手 0年份等级 指导(一) 开发人员IT架构总览
程序员新手 0年份等级 指导(一) 开发人员IT架构总览 程序员新手 0年份等级 指导(一) 开发人员相关IT架构总览之职能分解 开发人员IT架构总览 一.职能分解 软件项目的主要组成大体上按照一个项 ...
- java程序员修炼之道
今天在论坛里看到了一位工作10年的java大牛总结的java程序员修炼之道,看完后给出的评价是:字字玑珠,深入人心,猛回头,自己一无是处··· 大牛告诉我们应该好好学习与修炼以下知识与技能 Java语 ...
- 宅男程序员给老婆的计算机课程之9:数据模型
这次来讲MVC中最后的M. Model,几乎可以说是网页应用的核心. 之前课程提到过网页应用是由数据库驱动,而在很多场景,数据库 = M : M = 数据库. 所谓的ORM: object relat ...
- IT旅途——程序员面试经验分享
摘要:本文从IT人员的角度,一起分享面试道路上的坎坷.文章汇集几个知名公司的面试题,从出题的角度到分析问题的方法到解决问题较为全面的讲解面试题目,以供读者参考. 面试是职场的永恒话题,如何在职场面试中 ...
- 宅男程序员给老婆的计算机课程之8:控制器
设计模式再"高级"一点,便是所谓的"框架"了. 从事Web开发,一般都会接触到MVC框架这个概念. M:也就是Model,直接跟网站数据库相关. V:也就是Vi ...
- 程序员是吃青春饭的吗?未来发展前途如何?
行文之前,先问大家几个问题: 1,你开始逐渐担忧自己的年纪? 2,你开始觉得加班熬不过小年轻? 3,你开始因未知新兴技术而慌张? 4,你开始跳不动槽? 如果以上的回答都"是",那么 ...
- 宅男程序员给老婆的计算机课程之4:SQL vs NoSQL
男主角:Wuvist(新浪微博),真名翁伟,自称胖程序员一个,幸好已婚.学习.NET出身,现常用Python做服务器端开发,曾任新加坡某创业公司主程.公司被Techcrunch blog过后,觉得新加 ...
最新文章
- Oracle® Database Performance Tuning Guide 11g Release 2 (11.2)----Configuring and Using Memory
- matlab 多核并行编程
- ES6新特性_使用babel对ES6模块化代码转换_使用browserify对代码进行打包_实现es6兼容其他浏览器--JavaScript_ECMAScript_ES6-ES11新特性工作笔记045
- Log4j CVE-2021-44228 漏洞及Spring Boot解决方案
- 电力、输电、变电、配电(转)
- 《疯狂Java讲义》(十八)---- JAR文件
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
- MATLAB 多元多项式的除法
- Datawhale 202210 Excel | 第五、六、七章 Excel函数示例 Excel函数列表
- Windbg双机调试配置
- 技术与教研并驾齐驱,海风教育如何用模式创新定义教育智能新高度?
- CDN网站加速的工作流程
- 如何“深度学习”罗振宇的跨年演讲?
- winform中当laber标签字段过长时
- 深度学习:隐马尔科夫模型
- Studio One v4.6.2 x64 WiN 音乐制作编曲宿主软件下载
- PCB与PE(大地)相连技术文章
- bootload启动流程(四)--Eboot每个函数的详细说明
- 借助工具规划并定义Skype For Business的网络需求
- 分享一个转义emjoy表情的方法