A Quick Look About Design Pattern from CoolShell.cn by LTaoist 小组成员: 聂丰 莫宇诚 史欢 林培泳 陈晓.

Slides:



Advertisements
Similar presentations
Unit 33 The New restaurant. Session I You have chosen everything now, haven’t you? 反意疑问句 I’ve got to order new chairs… order vt. 命令, 定购, 定制 你最好还是去预定一辆出租汽车。
Advertisements

高考短文改错专题 张柱平. 高考短文改错专题 一. 对短文改错的要求 高考短文改错的目的在于测试考生判断发现, 纠正语篇中 语言使用错误的能力, 以及考察考生在语篇中综合运用英 语知识的能力. 二. 高考短文改错的命题特点 高考短文改错题的形式有说明文. 短文故事. 书信等, 具有很 强的实用性.
桂林市 2011 年高三第二次调研考 试质量分析暨备考教学建议 桂林市教育科学研究所 李陆桂. 二调平均分与一调、 2010 广西高考英语平均分的比较 科目 类别 英语 文科文科 2010 年广西 一调 二调 与 10 年广西相差
SanazM Compiled By: SanazM Here Are Some Tips That May Bring You A Beautiful Life! Music: 美麗人生 Angel ( 主題曲 ) Revised By: Henry 以下是一些能帶給你一個美麗人生的秘訣 中文註解:
Wilderness vs. Civilization. Into The Wild 影片改编自真实的故事,展现了 一个理想主义者的传奇,一个流浪的 故事。 克里斯托弗(埃米尔 赫斯基 饰) 家境优渥,是亚特兰大私立名校艾莫 里的优等生,前程似锦。但是,他从 学校毕业后,选择了截然不同的人生, 放弃令人羡慕的工作,把存款捐给慈.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
南山中學 102學年度 性別平等教育週性別教育 性騷擾防治.
Virginia Satir 维吉尼亚·萨提尔( ): Family Therapy.
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
C與C++ C++語言具有物件導向的功能,易於開發、撰寫與偵錯,成為重要系統的開發工具之一。
語音學報告 主題:連音 班級:應英一B 指導老師:蔡佩倫老師 組員: 朱涵寧 林薏馨
证券市场法律制度与监督管理 作者:张学亮.
第十八讲 设计原理(Design Principles)
对症下药 前端工程师如何学习Javascript.
我怀念的乡村记忆 陈秀华 社会工作0841.
沟通技巧 主讲:涂育俊.
专题八 书面表达.
《富爸爸,窮爸爸》 指導老師:林容萱 老師 學生: 陳怡蓉 歐佩宜 林世文.
How can we become good leamers
Java Programming Hygiene - for DIDC
义和团运动和八国联军侵华战争.
南投縣永昌國小 自衛消防編組訓練.
你現在正在抱怨嗎? 你知道 即使是心理的OS, 都會讓我們的好運能量降低嗎?.
教學心得簡報 新北市瑞芳區瓜山國小 簡至芳老師
      創業計畫案             楊喬琍               劉桂秀.
第一章 引论 1.1操作系统的概念 计算机系统: 计算机硬件 计算机软件 计算机硬件:运算器、控制器、存储器、输入设备和 输出设备
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
Homework 4 an innovative design process model TEAM 7
Module 5 Shopping 第2课时.
Unit 2 What should I do?.
Here Are Some Tips That May Bring You A Beautiful Life!
Lecture 2 Lecture An Introduction To The HTML Language
面向对象建模技术 软件工程系 林 琳.
R in Enterprise Environment 企业环境中的R
创建型设计模式.
周宇 南京航空航天大学 软件设计模式与体系结构 周宇 南京航空航天大学
软件建模训练(6-2) 设计模式 张静 南京理工大学计算机科学与工程学院.
Cross cultural communication in college english
职责链模式.
但是如果你把它发给最少两个朋友。。。你将会有3年的好运气!!!
Visual Studio Team System 简介
Unit 13 Lottery Fever.
Lesson 28 How Do I Learn English?
Lesson 44:Popular Sayings
Unit 1.
實作一個電腦輔助軟體工程工具以提昇軟體文件 可追蹤性及軟體可維護性
简单工厂模式.
A SMALL TRUTH TO MAKE LIFE 100%
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
Here Are Some Tips That May Bring You A Beautiful Life!
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Here Are Some Tips That May Bring You A Beautiful Life!
Idioms about money.
Here Are Some Tips That May Bring You A Beautiful Life!
Unit 8 Our Clothes Topic1 What a nice coat! Section D 赤峰市翁牛特旗梧桐花中学 赵亚平.
海報評比 班級:系統四甲 學號: 姓名:蔡飛宏 授課老師:唐蔚.
软件设计演进和系列训练营 实践 丁辉 Tel:
软件工程 第四章 软件设计 软件过程设计技术与工具.
Object-Oriented Technology: Review and Conclusion Remarks
線上課程規劃 中鋼內部教材製作研習營規劃 勝典科技 蘇文華 育碁數位科技 楊中旗
Delphi 7.0开发示例.
用一段文字形容 綜合活動課的感受 台南市復興國中 邱敏慧老師
CMP 讲义 2018 CMP设计哲学及基础概念 CMP推荐的4层代码结构.

React.js.
Operating System Software School of SCU
面向对象程序设计 C++教程 西安工业大学 于帆.
A Presentation By: Mike Sharobim Pictures By: Unknown source
高考英语作文指导 福建省教研室 姚瑞兰.
陳情表之外     with 三仁 三樂 歐陽宜璋製於 /10/23.
Presentation transcript:

A Quick Look About Design Pattern from CoolShell.cn by LTaoist 小组成员: 聂丰 莫宇诚 史欢 林培泳 陈晓

Find all blog of this presetation in " BE%E8%AE%A1%E6%A8%A1%E 5%BC%8F" BE%E8%AE%A1%E6%A8%A1%E 5%BC%8F

A short Intro of CoolShell.cn About 陈皓 – 左耳朵耗子 –“15 年软件开发相关工作经验, 8 年以上项目和团队管理经验。 ” – 曾于 Amazon 中国任研发经理。 – 现在阿里巴巴核心系统专家组从事阿里核心系统和阿里云 ECS 相关的虚拟化平台的开发工作。 About 酷壳( CoolShell ) – 一个完全依靠个人建立的技术性 BLOG – 分享技术见闻,知识,趋势 – 颇有影响力的国内技术 blog 文章风格: – 用词准确,思维连贯,图文并茂,写作认真 => 可读性高 – 内容较新,很多新鲜观点,容易看到另一面的思维 – 联系实际,结合代码实现 => 务实讲求干货 – 有说服力

#0 如此理解面向对象编程 复述 Rob Pike 对 《 Understanding Object Oriented Programming 》一文的 评论 问题: – 写一个程序,需要输出 一段关于操作系统的文 字: Unix 很不错, Windows 很差 输出 Unix is good os.name = ? 输出 Windows is bad 结束 开始 unix windows

"Hacker Solution" 用面向对象的编程方式一步一步地进化这 个代码。

过程化的方案

幼稚的面向对象编程

问题 这段代码没有消除 if 语句 代码的 “logic bottleneck” (逻辑瓶颈): – 如果你要增加一个操作系统的判断的话,你不 但要加个类,还要改那段 if-else 的语句 方案: Sophisticated

OO 大师的方案 注意其中的 Design Pattern – (使用 Hash 消除 if )

增加一个 Mac OS

好像哪里不对劲?

Rob Pike 的评论 Rob Pike – 当年在 Bell lab 里和 Ken 一起搞 Unix – 后来和 Ken 开发了 UTF-8 – 现在和 Ken 一起搞 Go 语言 “Local discussion focused on figuring out whether this was a joke or no” “For a while, we felt it had to be even though we knew it wasn't.” “ I'd call myself a hacker, at least in their terminology, yet my solution isn't there.” “Just search a small table! No objects required. ” –Trivial design –easy to extend, –cleaner than anything they present Their "hacker solution" is clumsy and verbose. –Everything else on this page seems either crazy or willfully obtuse. –The lesson drawn at the end feels like misguided( 误入歧途) epistemology (认知), not technological insight. “ 这些 OO 的狂热份子非常害怕数据,他们喜欢用多层的类的关系来完成一个本来只需要检索三行数据表的工作。 ” OOP 的本质就是 —— 对数据和与之关联的行为进行编程。便就算是这样也不完全对,因为: –Sometimes data is just data and functions are just functions

陈皓的评论

#1 : JDK 里的设计模式 JDK 里的设计模式 – –JDK 中有关 23 个经典设计模式的示例 Learning Javascript Design Patter – esignpatterns/book/ – 提及一些经典设计模式的 javascript 实现 –jQuery 中的设计模式

#2: 深入浅出单实例 Singleton 设计模式 实际版本: – 多线程环境? –Double-Check –Class Loader – 序例化 – 多个 Java 虚拟机 –volatile 变量 – 继承 – 代码重用

#3 从面向对象的设计模式看软件设计 起因: “ 那 23 个经典的设计模式和 OO 半毛钱关系 没有,只不过人家用 OO 来实现罢了 ……OO 的设 计模式思想和 Unix 的设计思想基本没什么差别 ” , 结果引来了一点点争议。 什么是模式 GoF 的 23 个设计模式(在其他场合) 关于 Unix 的设计模式( The Art Of Unix Programming ) 对 Amazon 中遇到的 SOA 式架构的讨论

#4 如何写出无法维护的代码 说了一下常见的 “ 糟糕代码 ” – 程序命名 – 伪装欺诈 – 文档和注释 – 程序设计 – 混乱你的代码 – 测试 – 其它

#5 一些软件设计的原则 简单地介绍一些常见的软件设计原则 –Don’t Repeat Yourself (DRY) –Keep It Simple, Stupid (KISS) –Program to an interface, not an implementation –Command-Query Separation (CQS) –You Ain’t Gonna Need It (YAGNI) –Law of Demeter ( Principle of Least Knowledge ) – 面向对象的 S.O.L.I.D 原则 –Common Closure Principle ( CCP ) – 共同封闭原则 –Common Reuse Principle (CRP) – 共同重用原则 –Hollywood Principle – 好莱坞原则 –High Cohesion & Low/Loose coupling & – 高内聚, 低耦合 –Convention over Configuration ( CoC ) – 惯例优于配置原则 –Separation of Concerns (SoC) – 关注点分离 –Design by Contract (DbC) – 契约式设计 –Acyclic Dependencies Principle (ADP) – 无环依赖原则

#6 那些炒作过度的技术和概念 StackExchange.com 上有一个贴子在评论 着最近 20 年来被炒作过度的技术,对于出 现的结果,大多数赞同,也有一些不赞同。 –Unified Modeling Language (UML) –Sharepoint –eXtensible Mark-up Language (XML) – 。。。

Thanks