-------------------------- 达摩流浪者 - 万晓利词: 万…
一.统一建模语言UML UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法 UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效 详情转: 设计模式--统一建模语言UML 二.面向对象设计原则 软件设计的难点是应对变化.通过把系统功能封装成一个个对象,可以实现粒度细化.功能实现耦合度低和职责独立.耦合度低就是高内聚.松耦合,能够减少功能实现之间的关联,降低修改的影响:职责独立能够…
关于设计模式与原则 一.设计模式简介 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案.而面向对象设计模式描述了面向对象设计过程中特定场景下.类与相互通信的对象之间常见的组织关系. 二.GoF 23种设计模式 该模式是学习面向对象设计模式的起点.但并非终点.也并非其就表示了所有的"面向对象设计模式". 三.面向对象设计模式 面向对象设计模式解决的是"类与相互通信的对象之间的组织关系",包括它们的角色.职责.协作方式几个方面. 面向对象设计模式是"…
本文由@呆代待殆原创,转载请注明出处. 写在前面:所谓设计原则并不是一定要遵守的法则,只是一种建议,因为保持这些原则本身会有一定代价,若是这些代价超过了带来的好处就得不偿失了,所以一切还是以简单为准. 原则一:分离变与不变的部分. 定义:找出代码中会发生变化的部分,并将其和保持不变的部分分离. 作用:提升可维护性.将会变化的部分分离后,在以后的修改过程中就不会影响到其他不变的部分. 原则二:面向接口编程. 定义:面向接口编程,而不是面向某个实现. 作用:降低耦合.这里的接口有多个含义,并不仅仅只…
1.单一职责原则:每个类都只有一个职责,修改一个类的理由只有一个 2.开放-封闭远程(OCP):开放是指可拓展性好,封闭是指一旦一个类写好了,就尽量不要修改里面的代码,通过拓展(继承,重写等)来使旧的类满足新的需求,而不是修改一个类里面的代码. 3.依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象:抽象不应该依赖细节,细节应该依赖抽象.底层模块例如很多工具类,例如专门用于管理sql连接的类,管理文件,管理socket连接的类,高层类指具体实现需求的类.高层类和底层类都不应该相互依赖,…
6大原则: 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 一.单一职责原则 定义:应该有且仅有一个原因引起类的变更 带来的好处: 类的复杂性降低,实现什么职责有清晰明确的定义 可读性提高 可维护性提高 变更引起的风险降低 对于单一职责原则,建议接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化. 二.里氏替换原则 继承的优点: 代码共享,减少创建类的工作量,子类拥有父类的属性和方法 提供代码重用性 提供代码扩展性 提供产品或项目开放性 继承缺点: 继承是…
目录 设计原则 设计模式 设计原则 DRY (Don't repeat yourself 不要重复) KISS (Keep it stupid simple 简单到傻子都能看懂) YAGNI (You Aren't Gonna Need It 你不会需要它的) CCP 共同闭包 CRP 共同复用 高内聚.低耦合 惯例优先配置 SCO 关注点分离 ADP 无依赖环 SOLID 面向对象设计原则 SOLID S - Single-responsiblity Principle 单一职责 O - Op…
一.UML类图和面向对象设计原则简介 在学习设计模式之前,需要找我一些预备知识,主要包括UML类图和面向对象设计原则. UML类图可用于描述每一个设计模式的结构以及对模式实例进行说明,而模式结构又是设计模式的核心组成部分,学习一个设计模式,如果不能绘制和理解其结构图,基本上等于没学. 面向对象设计原则是每一个设计模式效果评价的重要依据,每一个模式都符合一个或多个面向对象设计原则,这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味”而诞生,力图为当前系统提供最好的设计…
1 UML 1.1 UML UML(Unified Modeling Language)是统一建模语言,1997年11月UML1.1版本提交给OMG并正式通过,成为建模语言的个那个也标准.2003年6月UML2.0获得正式通过. 1.2 UML特性 U(Unified):统一,UML融合了多种优秀的面向对象建模方法以及多种得到认可的软件工程方法,消除了因方法林立且相互独立而带来的种种不便,集众家之长,股名"统一".通过统一的表示方法可以让不同知识背景的领域专家,系统分析设计人员以及开发…
1 设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977年美国著名建筑大师.加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作<建筑模式语言:城镇.建筑.构造>中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇.邻里.住宅.花园和房间等进行设计的基本模式. 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式…