使用某个设计模式先问自己3个问题:
1. 这个模式是干什么用的?
2. 不使用这个模式我会怎么做?
3. 用了这个模式我又会怎么做?可以带来哪些好处?
针对接口编程,而不是针对具体编程;
针对接口编程,利用多态,可以在运行时与任何(新)实现类进行绑定,以此达到“对修改关闭”的目的。
变化的地方使用接口进行引用,在运行时动态绑定到某个子类上;
多用组合,少用继承。
组合:持有基类引用,利用多态的特性在运行时动态绑定到具体子类上;
非公有的行为不要定义到基类中,而应该定义为接口,由需要的子类去实现;
由于接口不能提供代码复用,因此,可以预先定义几种不同类型的实现类,让子类从中选择继承;
如,策略模式中,将行为/算法定义为接口,并且提供各种具体的行为,在运行时动态绑定到接口上。
相关推荐
我们在应用程序开发中,一般要求尽量两做到可维护性和可复用... 面向对象设计原则和设计模式也是对系统进行合理重构的指导方针。 常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充。
逻辑结构设计 《数据库原理及应用》课程设计指导书 2008 级计算机科学与技术专业 第 3 页 共 20 页 将 E-R 图转换成等价的关系模式;按需求对关系模式进行规范化(建议至少满足第三范 式要求) ;对规范化后的模式...
同时课 程设计应充分体现"教师指导下的以学生为中心"的教学模式,以学生为认知主体,充分 调动学生的积极性和能动性,重视学生自学能力的培养。 二、课程设计内容及要求 用信息系统开发工具(例如PowerBuilder、...
Midas软件指导结构模型设计——大学生结构设计竞赛经验漫谈之二 崔苗苗 全国大学生结构设计竞赛是国家教育部批准的九个大学生竞赛资助项目之一,大赛旨 在培养大学生的创新意识与合作精神,提高大学生的创新设计能力...
动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...
总体构造本身具有一般性,也就是抽象性、实际问题无关性;局部构件具有通用性。也就是说,这里存在容器和容量的区别,构造是容器,实际问题是装在容器中的量。一个好的容器要能顶住容量的压力;一个好的建筑架构要能...
这时候应该考虑下面的指导原则: l 对于那些在查询中很少使用和参考的列不应该创建索引。因为既然这些列很少使用到,有索引并不能提高查询的速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求...
掌握关系数据库设计的一般方法和步骤。 2.掌握数据库表结构的设计原则和方法。 3.掌握数据库中表间关系的确定原则。 【实验内容】 【题1】对学校图书管理系统做需求分析。 操作提示: (1)调查学校图书管理模式,...
数据库设计原则 按阶段实施并形成该阶段的成果物 一般符合3NF范式要求;兼顾规范与效率 使用公司规定的数据库设计软件工具 命名符合公司标准和项目标准 数据库设计目标 规范性:一般符合3NF范式要求,减少冗余数据...
2、正文 方案的正文一般有两种写法:一是常规写法,即按"指导方针"、"主要目标(重点)"、"实施步骤"、"政策措施"及"要求"几个部分来写,这个较固定的程序适合于一般常规性单项工作;二是变项写法,即根据实际需要...
第5章 类设计指导原则 68 5.1 真实世界系统建模 68 5.2 明确公共接口 69 5.2.1 最小公共接口 69 5.2.2 隐藏实现 69 5.3 设计健壮的构造函数(和析构函数) 70 5.4 在类中设计错误处理 70 5.4.1 对类建立文档...
五、课程设计说明书 概述(设计题目与可行性分析) 系统目标和设计原则 支撑环境规划 硬件及软件支撑环境及开发工具 系统总体结构 4.1 总体DFD 4.2 功能结构 功能结构图,主要功能(或"处理(Process)")说明。...
" " " "学 号: " " 课 程 设 计 "题 目 "连锁经营数据库设计 " "学 院 "计算机科学与技术 " "专 业 " " "班 级 " " "姓 名 " " "指导教师 "唐祖楷 " "2013 "年"1 "月"9 "日 " 课程设计任务书 学生姓名: 专业班级:...
二、平台总体规划 2.1、平台总体设计 根据短信平台建设的总体要求,结合目前应用系统状况,系统建设的 技术路线应坚持"需求为导向、应用促发展,统筹规划、科技支撑,分 工负责、持续发展"的指导思想,建立安全与...
行为规范,是关于人们行为的指导思想,是人们活动的一般规则或办事规矩,是人们共同遵循的活动原则和行为标准。 员工行为规范,是指员工在医院任职期间必须遵循的指导思想和执行公务的基本规范,包括规定的活动原则...
算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。 (2)算法的基本运算和操作 算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 (3)算法的3种基本控制结构 算法的3种基本...
成都信息工程学院 课程设计 校园网安全整体解决方案设计 "作者姓名: "纪 红 " "班 级: "信安08.4 " "学 号: "2008122127 " "指导教师: "王祖俪 " "日 期: "2011年 12月10日 " 校园网安全整体解决方案设计 摘 要...
B) 分解的可靠性原则 C) 子、父图平衡的原则 D) 数据流封闭的原则 6. 在E-R模型中,包含以下基本成分(C)。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、联系 7. 画DFD图...
海南经贸职业技术学院信息技术系 网 络 安 课 全 程 设 计 报 告 题 目 XX网络安全方案的设计 学 号 310609040104 班 级 网络工程06-1班 姓 名 王某某 指导老师 王天明 设计企业网络安全方案 摘 要:在这个信息技术...