面向对象软件设计原则(一) —— 引子
“面向对象软件设计”这个术语及其相关话题对于很多开发人员来说已经是耳熟能详了,甚至听腻了。但是,对不住各位,为了吸引眼球和引起“异性” 注意,本座还是落入俗套选择这个热门话题作为本博客的开张炒作篇目。请见谅,也希望各位看官能放下架子,略读一下本系列的所有文章再喷,可赞可弹可BS, 但勿吐槽,毕竟不想因为本座的文字噪音降低看官的SZ,伤不起呀!!
言归正传,在如何阐述“面向对象软件设计”这个问题上,本座琢磨了良久,毕竟命题宽泛,表达方式和层次多样。最终决定用相对通俗,以本座的读书和工作经历,在中等层次上进行阐述。
本座从十年多前走出校门之时就确信软件架构(设计)、数据结构和算法是软件的根本核心,也是衡量个人技术水平的终极标准。因此,从一开始本座就特别关注软件设计方面的知识,本座读过的三本书恰巧体现了软件设计开发的几个方面:
- 编程开发:《Design Patterns Elements of Reusable Object-Oriented Software》
- 软件设计:《Agile Software Development: Principles, Patterns, and Practices》
- 系统架构:《Pattern-Oriented Software Architecture》
若从编程开发的层次谈软件设计不够全面,有只见树木不见森林之嫌;而从系统架构的层次去谈则显得过于专业,受众不多,会失去大部分读者。因此本系列文 章通过本座多年前阅读:《Agile Software Development》的笔记整理和心得体会来阐述面向对象软件设计原则。
最后,本座要表达一个重要的观点:任何知识的学习过程都要经历“守”(依葫芦画瓢,获得感觉)、“破”(掌握规律,懂得比较、选择)、“离”(突破条框,自成一派,无招胜有招)三个阶段,在学习的过程中不要墨守成规,需要结合实际情况不断思考和提炼知识,突破自己。
- 自信来源于哪里?来源于掌握足够多的知识。
- 求知欲望来源于哪里?来源于未掌握的知识。知识就像一个圆圈,掌握知识越多圆圈越大,圆圈越大则圈外的世界也越大。
下一章:面向对象软件设计原则(二) —— 软件设计的腐化
CodeProject
面向对象软件设计原则(一) —— 引子相关推荐
- 面向对象软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)
软件设计原则[JAVA](开闭原则.里氏代换.依赖倒转.接口隔离.迪米特法则.合成复用原则) 1.开闭原则 2.里氏代换原则 3.依赖倒转原则 4.接口隔离原则 5.迪米特法则 6.合成复用原则 1. ...
- 面向对象软件设计原则(四) —— 包的设计原则
随着应用程序的规模和复杂度的增加,需要在更高的层次对它们进行组织.类对于小型应用程序来说事非常方便的组织单元,但是对于大型应用程序来 说,如果仅仅使用类作为唯一的组织单元,就会显得粒度过细.因此,就需 ...
- java 设计模式:软件设计原则、面向对象理论、23 种设计模式
文章目录 软件设计原则 1.单一职责原则(Single Responsibility Principle) 2.开闭原则(Open Closed Principle) 3.里氏代换原则(Liskov ...
- 面向对象的设计原则最终篇
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 关于面向对象的设计原则我之前已经解释过四种了,分别是单一职责原则,开放关闭原则,里式替换原则, ...
- 重拾面向对象软件设计
简介:从上个世纪五十年代冯·诺依曼创造第一台计算机开始,一直到现在只有短短70年时间,从第一门计算机语言FORTRAN,到现在我们常用的C++,JAVA,PYTHON等,计算机语言的演进速度远超我们所 ...
- 软件设计原则(一)开闭原则(Open-Closed Principle, OCP)
狭义理解:对扩展开发,对修改封闭 在学习设计模式之前,应该先对软件设计原则有一定的了解,设计模式在一定程度上是迎合软件设计原则而产生的,脱离了软件设计原则,设计模式是没有意义的. 开-闭原则(Open ...
- wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构
面向对象.设计原则.设计模式.编程规范.重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程. 面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态). 面向对象 面 ...
- Java 面向对象的设计原则
一. 1.面向对象思想的核心: 封装.继承.多态. 2.面向对象编程的追求: 高内聚低耦合的解决方案: 代码的模块化设计: 3.什么是设计模式: 针对反复出现的问题的经典解决方案,是对特定条件下( ...
- Java程序员最应该学习的几个面向对象的设计原则
2019独角兽企业重金招聘Python工程师标准>>> 面向对象的设计原则是OOP编程的核心,但我已经看到大多数Java程序员追逐设计模式,如Singleton模式,Decorato ...
最新文章
- shtml与php的区别,htm,html.shtml区别
- 《openssl编程》之配置文件
- Android 网络知识必知必会
- mysql awr 上海用户组_mysql awr v1.0.3修正说明以及发布
- 像程序员一样思考:如何仅使用JavaScript,HTML和CSS来构建Snake
- swing point 怎么让x 不变_Swing舞出我人生 Vol.02 / 我的人生分为跳舞之前和跳舞之后...
- Arcgis javascript那些事儿(十四)——连接oracle
- (转)Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义
- 二维随机变量期望公式_多维随机变量函数的分布
- oracle定时任务定时无效
- 计算机系统的基础必备软件,电脑必装软件推荐:基础篇——够用就行
- E/art﹕Failed sending reply to debugger: Broken pipe的解决方法
- 2010 我的求职经历(2)
- GANs(生成对抗网络)浅析
- HCIA网络基础01
- Ubuntu下清除DNS缓存的方法
- uni-app项目实现用户注册密码前端页面加密
- Python进程池之pool.map()函数传入多参数
- C语言-计算存款利息。有1000元,想存一年。有3种方法可选:(1)活期,年利率为r1;(2)一年期定期,年利率为r2;(3)存两次半年定期,年利率为r3。请分别计算出一年后按3种方法所得到的本息和。
- 简练软考知识点整理-云大物移智区加