第一篇:设计模式试题(仅供参考)
1、设计模式一般用来解决什么样的问题(a)A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是
2、下列属于面向对象基本原则的是(c)A.继承 B.封装 C.里氏代换 D都不是
3、Open-Close原则的含义是一个软件实体(a)A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭D.以上都不对
4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(a)模式。A.创建型 B.结构型 C行为型 D.以上都可以
5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是(d)的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则
6、依据设计模式思想,程序开发中应优先使用的是(a)关系实现复用。A, 委派 B.继承 C创建 D.以上都不对
复用方式:继承和组合聚合(组合委派)
7、设计模式的两大主题是(d)A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展
8、单例模式中,两个基本要点(a b)和单子类自己提供单例 A.构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对
9、下列模式中,属于行为模式的是(b)A.工厂模式 B观察者 C适配器 以上都是
10、“不要和陌生人说话” 是(d)原则的通俗表述 A.接口隔离 B.里氏代换C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解
11、构造者的的退化模式是通过合并(c)角色完成退化的。A.抽象产品 B产品 C创建者 D使用者
12、单子(单例,单态)模式类图结构如下:
下列论述中,关于”0..1”表述的不正确的是(d)A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例
D.0表示单例类可以提供其他非自身的实例
13、对象适配器模式是(a)原则的典型应用。A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则
14、静态工厂的核心角色是(a)
A.抽象产品 B.具体产品 C.静态工厂 D.消费者
15、下列关于静态工厂与工厂方法表述错误的是:(a)A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码
B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中 C.不能形成静态工厂的继承结构 D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。
16、在观察者模式中,表述错误的是(c)A.观察者角色的更新是被动的。B.被观察者可以通知观察者进行更新 C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
D.以上表述全部错误。
17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:(d)
A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。B.将B到A的继承关系改组成委派关系。C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系 D.以上方案错误
18.对象组合的有点表述不当的是(d)
A.容器类仅能通过被包含对象的接口来对其进行访问。
B.“黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。C.通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合 D.造成极其严重的依赖关系。19.关于继承表述错误的是:(d)
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。20.对于依赖倒转的表述错误的是(e)
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。E.此题没有正确答案。
21.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及
(依赖倒转),(迪米特法则),(单一原则),(接口隔离?)。
22.在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方向集中。23.适配器模式,分为类的适配器和对象的适配器两种实现。
其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。24.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。25.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。
26.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型 27.门面模式是(迪米特)法则的典型运用
28.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式 29.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的, 发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.设计模式部分(30分)Java班
(1)以下是模式的基本要素的是。ABCD A)名称 B)意图C)解决方案 D)参与者和协作者(2)常用的描述设计模式的格式有。ABCD A)意图 B)动机 C)适用性D)结构
(3)以下哪些问题通过应用设计模式能够解决。AD A)指定对象的接口B)排除软件BUG C)确定软件的功能都正确实现D)设计应支持变化(4)面向对象系统中功能复用的最常用技术是。AB A)类继承B)对象组合C)使用抽象类D)使用实现类(5)常用的基本设计模式可分为。A A)创建型、结构型和行为型B)对象型、结构型和行为型 C)过程型、结构型和行为型D)抽象型、接口型和实现型(6)以下关于创建型模式说法正确的是。A A)创建型模式关注的是对象的创建 B)创建型模式关注的是功能的实现
C)创建型模式关注的是组织类和对象的常用方法 D)创建型模式关注的是对象间的协作
(7)以下属于创建型模式的是。AC A)抽象工厂(Abstract Factory)模式 B)合成(Composite)模式 C)单例(Singleton)模式D)桥接(Bridge)模式(8)以下哪个模式是利用一个对象,快速地生成一批对象。C A)抽象工厂(Abstract Factory)模式 B)合成(Composite)模式 C)原型(Prototype)模式D)桥接(Bridge)模式
(9)在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在。AD A)适配器(Adapte)模式 B)合成(Composite)模式 C)原型(Prototype)模式D)桥接(Bridge)模式(10)结构型模式中最体现扩展性的几种模式是。C A)适配器(Adapte)模式 B)合成(Composite)模式 C)装饰(Decorator)模式D)桥接(Bridge)模式(11)行为类模式使用 在类间分派行为。C A)接口 B)继承机制 C)对象组合 D)委托
(12)以下属于行为对象模式的是。ABCD A)模板(Template Method)模式 B)迭代器(Iterator)模式 C)命令(Command)模式D)观察者(Observer)模式(13)封装分布于多个类之间的行为的模式是。C A)观察者(Observer)模式 B)迭代器(Iterator)模式 C)访问者(Visitor)模式D)策略(Strategy)模式(14)Observer(观察者)模式适用于。C A)当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。
B)当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时。C)当一个对象必须通知其它对象,而它又不能假定其它对象是谁。也就是说你不希望这些对象是紧密耦合的。D)一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作。
(15)Java的异常处理机制可理解为哪一种行为模式。C A)观察者(Observer)模式 B)迭代器(Iterator)模式
C)职责链(Chain of Responsibility)模式D)策略(Strategy)模式
UML设计模式笔试题答案
一、选择题
a)A b)A c)A C D d)A e)D
二、填空题
a)applet(嵌入式应用程序)、application(可独立执行的应用程序)b)java.lang、Object
c)NEW(创建)、RUNNABLE(运行)、BLOCKED(阻塞)、WAITTING [TIME_WAITTING](等待)、TERMINATED(终止)d)字节码、JVM(JAVA虚拟机)e)page、config、request、response、out、session、application、exception、pageContext
三、简答题
a)开闭原则 对扩展开放,对修改关闭
b)抽象工厂类图
c)创建用户分配角色
create user tarring identified by password ; grant Teacher to tarring;
d)Struts2程序的的执行过程 i.用户发出一个请求
ii.请求被提交到一系列的过滤器(Filter),到达FilterDispatcher,FilterDispatcher进行初始化并启用核心Filter iii.FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(request)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy iv.ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类.v.ActionProxy创建一个ActionInvocation的实例,同时ActionInvocation通过代理模式调用Action。但在调用之前ActionInvocation会根据配置加载Action相关的所有Interceptor。
vi.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果
e)MVC中使用的模式两种(Observer)观察着模式(Strategy)策略模式
四、程序设计题
a)I/O流
b)Filter写一个可以用于处理请求的组件
第二篇:材料员模式试题1
模式试题
(一)一 单选题(共50题)
1.管理合同以及买卖双方之间的关系,审查并记录卖方当前的生产绩效,以保证按期供货的项目采购过程称为(C)。
A.采购规划
B.发包规划
C.合同管理
D.合同收尾
2.材料消耗定额是指在一定条件下,生产单位产品或完成单位工程量(A)消耗材料的数量标准。
A.合理
B.任意
C.适度
D.限制
3.材料消耗(A)是编制建筑安装工程施工图预算的法定依据。A.预算定额
B.施工定额
C.估算指标
D.概算定额
4.材料消耗定额中最细的定额是(C),它能详细反映各种材料的品种、规格、材质和消耗数量。
A.材料消耗概算定额
B.材料消耗估算定额 C.材料消耗施工定额
D.材料消耗预算定额 5.材料消耗施工定额由(C)构成。
A.有效消耗
B.合理损耗
C.有效消耗+合理损耗
D.有效消耗+合理损耗+管理损耗 6.建筑物的阳台均应按其水平投影面积的(A)计算建筑面积。A.1/2
B.1/3
C.1/4
D.1/5 7.(C)构成工程量清单计价计款。
A.分部分项工程费、措施项目费、其他项目费、规费、税金和不可预见费 B.分部分项工程费、措施项目费、其他项目费、规费、税金、定额测定费 C.分部分项工程费、措施项目费、其他项目费、规费、税金
D.分部分项工程费、措施项目费、其他项目费、规费、税金、社会保险金
8.材料计划管理,就是运用计划手段组织、指导、监督、调节材料的订货、采购、(C)、供应、存储、使用等一系列工作的总称。
A.投标
B.招标
C.运输
D.询价 9.(D)是材料部门组织供应材料应达到的目标。A.材料订货计划
B.材料储备计划 C.材料采购计划
D.材料供应计划
10.材料计划编制的程序是(A)、确定供应量、按不同渠道分类申请、编制供应计划及编制订货与采购计划。
A.计算需用量
B.确定采购量 C.确定订货时间
D.确定订购量
11.设计变更,影响材料需用量和品种、规格、时间,(B)材料计划。A.不必调整
B.应调整
C.视需要调整
D.局部调整
12.当工程任务已经落实,但在设计资料不全的情况下,为提前备料提供依据而采用的工程用料计划的编制方法称为(A)。A.间接计算法
B.直接计算法 C.预算法
D.统计分析法 13.材料计划按材料使用方向分为(A)。
A.生产材料计划、基本建设材料计划
B.材料需用计划、材料供应计划、材料采购计划
C.计划、季度计划、月度计划
D.施工计划、采购计划、储备计划 14.(B)为保障施工生产正常进行所做的材料准备而编制的计划。A.材料需用量计划
B.材料储备计划 C.材料采购计划
D.材料供应计划
15.材料采购包括各类期货材料的(A)、订货、采购等组织货源的业务工作。A.加工
B.运输
C.投标
D.保管 16.企业采购力量不足时可选择(B)。
A.加工订购
B.委托代购
C.联营订购
D.自由选购 17.建筑企业采购和加工业务,是有计划、有组织地进行的。其内容有(A)。A.决策、计划、洽谈、签订合同、验收、调运和付款 B.决策、计划、洽谈、签订合同、验收和付款 C.计划、洽谈、签订合同、验收、调运和付款 D.洽谈、签订合同、验收和付款
18.材料采购及加工业务的业务过程包括准备、谈判、(C)、执行和结算5个环节。A.交货
B.收货
C.成交
D.运输
19.(B)有利于对材料的指导、控制、统一决策、统筹采购资金,获得材料折扣优惠。A.混合采购
B.集中采购
C.分散采购
D.经济采购 20.对于品种规格多,而同一规格的需求量又不大的材料,宜采用(B)。A.直达供应
B.中转供应
C.甲方供应
D.乙方供应 21.(A)是建设项目开发部门或业主对建设项目实施材料供应的方式 A.甲方供应方式
B.乙方供应方式 C.甲乙双方联合供应方式
D.物资企业供应方式
22.根据计划期内施工生产任务和材料消耗定额及技术节约等因素,确定的供应材料数量标准,称为(A)。
A.限额供应
B.敞开供应
C.领料供应
D.送料供应 23.(B)是根据施工班组领料、退料、剩料和验收完成工程量统计的材料数量。A.实际供应量
B.实际消耗量
C.实际剩余量
D.清单工程量 24.下列关于材料限额领料的描述,不合理的是(D)。A.限额领料单一般一式五份
B.用量大的领料单,一般指分部位承包下达的混合队领料单 C.限额领料单的分析主要是搞清材料节约和浪费的原因 D.限额领料的最后程序是验收限额领料单
25.材料运输管理的原则有遵守规程、及时准确、安全运输和(C)。A.实事求是
B.严肃性
C.经济合理
D.留有余地
26.(B)指同一运输工具同时装载各类包装货物(如桶装、袋装、箱装、榈装等)的一种运输方式。
A.散装运输
B.混装运输
C.合理运输
D.集装箱运输
27.材料运输中的“四就直拨”方法,其中“四就”是指“(A)、就站直拨、就库直拨、就船过载”的办法,A.就厂直拨
B.就地直拨
C.就量直拨
D.就路直拨
28(C)是指在一定条件下为保证施工生产正常进行,材料合理储备的数量标准是确定能保正施工生产正常进行的合理储备量。A.预算定额
B.施工定额 C.材料储备定额
D.概算定额
29.(C)是指按材料品种核定的储备定额,如钢材、水泥、木材储备定额等。A.季度储备定额
B.储备定额 C.品种储备定额
D.保险储备定额
30.材料订购费随订购次数的增加而(C),在总用量不变的条件下,与订购的批量成()A.增加,正比
B.降低,反比
C.增加,反比
D.降低,正比 31.保险储备的数量标准就是(B)。A.经常储备定额
B.保险储备定额 C.季节储备定额
D.材料储备定额
32.(D)不属于材料验收工作的几项主要内容。
A.核对证件
B.验收数量
C.验收质量
D.验收含量 33.每日对有变动的材料及时盘点的方法叫(C)。A.定期盘点法
B.活期盘点法 C.永续盘点法
D.临时盘点法
34.现场材料管理的中心环节是(A)的材料管理。A.材料消耗过程
B.施工准备阶段 C.施工收尾阶段
D.施工过程
35.工程竣工收尾和施工现场转移的管理是指工程已完成总量的(A)。A.70%
B.80%
C.90%
D.50% 36.下列关于现场钢材管理的说法,不合理的是(B)。A.对于钢绞线必须检查其是否有《全国工业品生产许可证》 B.直径不大于l0mm的钢筋必须轧制标识
C.热轧钢筋复检时必须截取带有产品表面标识的试件送检 D.钢筋质量证明书应加盖生产单位公章或质检部门检验专用章 37.(B)属于周转材料。
A.钢构件
B.钢跳板
C.钢卷尺
D.钢筋
38.材料核算对建筑企业材料工作中的申请、采购、供应、储备、消耗等项业务活动进行记录、计算、(C)、监督、分析和考核的活动。A.指导
B.管理
C.控制
D.绩效
39.材料采购实际成本是材料(A)过程中所发生的各项费用的总和。A.采购和保管
B.周转与运输 C.储存与保管
D.生产与流通 40.(B)是将一定时期内的材料实际收入量与计划收入量做对比,反映材料计划完成情况。
A.材料采购核算
B.材料供应核算 C.材料储备核算
D.材料计划核算
41.当实际材料储备数量低于(A)时,需要动用材料保险储备。A.最低储备定额
B.最高储备定额 C.常规储备定额
D.额定储备定额
42.在不实行租赁制度的企业,周转材料费用支出表现为(A)。A.摊销额
B.代租费
C.储备消耗费
D.临时收支费 43.下列施工工具费用核算的描述,不合理的是(B)。A.生产工具费用约占工程直接费的2%左右 B.施工工具业务账由财务部门建立 C.工具账分为业务账和财务账 D.工具费的支出包含维修费
44.(C)用以反映在用工具的动态和分布情况,是旧品账的隶属账。A.在用账
B.在库账 C.在用分户账
D.新品账
45.人造石材出厂检验报告应包括尺寸偏差、外观质量、(C)、落球冲击和香烟燃烧。A.抗压强度
B冲击性能
C.巴氏硬度
D.吸水系数
46.当取土样检验垫层的质量时,对大基坑每50~100 m平方米应不少于(A)个检验点。
A.1
B.2
C.3
D.4 47.烧结普通砖按(B)万块为一验收批。A.10
B.15
C.25
D.30 48.每批热轧带肋钢筋的检验项目见证取样数量为(B)。
A.1拉伸2弯曲
B.2拉伸2弯曲
C.1拉伸l弯曲
D.2拉伸l弯曲 49.在试验室制备砂浆拌合物时,拌合时试验室的温度应保持在(B)℃。A.20±2
B.20±5
C.20±3
D.20±1 50.普通混凝土的强度等级是以具有95%保证率的(D)d的标准尺寸立方体抗压强度代表值来确定的。A.3
B.7
C.14
D.28
二 多选题(共20题)
1.项目采购通常的采购方式分为(AC)采购等几类。A.招标
B.投标
C.非招标
D.授标 2.建筑工程量计算包括(AB)等几个方面。A.定额工程量计量
B.清单工程量计算 C.概算工程量
D.土石方工程量
3.材料计划在实施过程中常受到干扰的因素有(ABD)。A.施工任务的改变
B.设计变更
C.领导意志
D.采购情况变化 4.材料计划按材料使用方向分为(BC)。
A.经营材料
B.生产材料
C.基建材料
D.工艺材料 5.材料计划的实施检查制度主要有(BCD)。A.专业队检查制度
B.现场检查制度 C.统计检查制度
D.定期检查制度 6.材料采购方式有(ACD)。
A.合同订购
B.承包
C.租赁
D.联合订货 7.材料采购合同的签定程序要经过(ABC)步骤。A.要约
B.承诺
C.反要约
D.谈判 8.(ABD)属于影响运输效益的主要因素。
A.货源地点
B.运输线路
C.货物品种
D.运输方式 9.组织材料合理运输的途径有(BCD)。A.尽可能采用对流运输
B.选择合理的运输路线 C.选择合理的运输方式
D.提高材料运输装载技术 10.按照材料供应中实物到达方式不同,分为(CD)。A.限额供应方式
B.敞开供应方式 C.领料供应方式
D.送料供应方式 11.材料储备定额按作用分类有(CD)。A.相对定额
B.品种储备定额 C.经常储备定额
D.季节储备定额 12.材料储备量控制方法有(CD)。A.供应期控制法
B.定点库存控制法 C.定量库存控制法
D.定期库存控制法 13.周转材料管理方法有(ABC)。
A.租赁法
B.费用承包法 C.实物量承包法
D.销售法
14.(ABC)属于按工具价值和使用期限分类。A.固定资产工具
B.低值易耗工具 C.消耗工具
D.班组共用工具
15.在建筑企业中。对材料编号的常用方法有(BD)。A.统计图法
B.数码编号法 C.字母编号法
D.字母与数码混合编号法
16.预算成本和计划成本都要从(AD)等方面进行考核。A.工程成本总额
B.材料原价 C.设备使用成本
D.工程成本项目
17.在考核成本变动时,要借助(AC)等重要指标。A.成本降低率
B.计划成本 C.成本降低额
D.实际成本
18.冷轧带肋钢筋同一牌号、(CD)为一验收批。A.同一台轧机
B.同一规格 C.同一生产工艺
D.同一交货状态 19.烧结普通砖的强度等级根据(CD)划分。A.抗剪强度
B.疲劳强度 C.抗压强度平均值
D.强度标准值
20.下列关于砌体工程用水泥的描述,合理的是(ABC)。A.水泥进厂使用前,应分批对其强度、安定性进行复验 B.检验批应以同一生产厂家、同一编号为一批
C.当在使用中对水泥质量有怀疑或水泥出厂超过三个月时,应复查试验,并按其结果使用 D.当在使用中对快硬硅酸盐水泥质量有怀疑或出厂超过一个月时,应复查试验,并按其结果使用
三 案例题(共2大题,20小题)
案例一
【背景资料】2010年11月某建筑企业编制次年的材料供应计划,有关资料见表l。
请依据上述背景资料完成1~10题的选项
请根据背景资料完成相应小题选项,其中判断题二选一(A、B选项),单选题四选■‘A、B、C、D选项),多选题四选二或三(A、B、C、D选项)。不选、多选、少选、错选均不得分。1)(单选题)同题9,A材料按经济批量采购的间隔期宜为(A)d。A. 120 B.90
C.60
D.45 2)(单选题)当A材料所应用的项目任务突然增减或工程提前或延后施工·A材料供应计划(B)
A.全面调整或修订
B.专项调整或修订
C.经常调整或修订
D.不能调整或修订
3)(单选题)建筑企业材料计划中最基本的一种材料计划是(B)。
A.材料申请计划
B.材料需用计划
C.材料供应计划
D.材料储备计划
4)(单选题)由表l可知,2011年该企业A材料期初库存量预计为(A)t.A.24
B.45
C.20
D·25 5)(单选题)由表l可知,2011年该企业A材料计划供应量应为(D)t.A.228.18
B.185.97
C.199.21
D·204·18 6)(单选题)为满足2011A材料的经常储备要求,A材料的计划供应次数应为(C)次。
A.9
B.10
C.11
D·12 7)(单选题)为满足2011A材料的经常储备要求,A材料计划供应间隔期应为(B)d.A.30
B.33
C.36
D·40
8)(单选题)A材料的总需用量中每次采购数量,使其(D)之和最低,则该批量称为A材料的经济采购批量。
A.保管费和运输费
B.仓储费和运输费 C.储费和管理费
D.保管费和采购费
9)(单选题)若该企业全年耗用A材料总量为180t,每次米购费用为75元,年保管理费率为材料平均储备价值的15%,A材料单价为50元/t,那么A材料总费用最低的经济采购批量为(C)t。
A. 30
B. 45
C. 60. D·75 10)(多选题)为及时发现问题,保证全面完成材料计划,该企业应主要建立(BCD)等计划分析和检查制度。
A.仓库盘点检查制度
B·现场检查制度
C.定期检查制度
D.统计检查制度
案例二
【背景资料】某施工企业27层写字楼工程施工,上部为现浇钢筋混凝土框剪结构,基础为箱型基础与桩基础,基础结构混凝土有抗渗要求。该企业A材料全年耗用量为l20 t,每次采购费为80元,年保管费率为材料平均储备价值的20%,材料单价为60元/t。请依据上述背景资料完成1~10题的选项。
请根据背景资料完成相应小题选项,其中判断题二选一(A、B选项),单选题四选一(A、B、C、D选项),多选题四选二或三(A、B、C、D选项)。不选、多选、少选、错选均不得分。1)(O-选题)若该工程内墙采用混凝土小型空心砌块砌筑,墙体的水平灰缝厚度和竖向灰缝宽度应为(D)。
A.7 turn~11 mm
B.6 mm~11 rnrn C.7 mm~12 mm
;D.8 rnrn~12 mm 2)(单选题)采用试凑法计算该企业A材料的经济采购批量为(B)t。A.30
B.40
C.20
D.10 3)(O-选题)该企业A材料的经济采购批量对应的采购次数为(B)。A.4次
B.3次
C.6次
D.12次 4)(判断题)A材料的采购总费用与采购费成反比、与保管费成正比、与采购批量成正比。(B)A.正确
B.错误
5)(判断题)A材料的采购应尽量就近采购或达到整车托运的最低限额采购。(A)A.正确
B错误
6)(判断题)对该工程箱型基础结构,其混凝土试件应在搅拌机出料地点随机取样。同一工程、同一配合比的混凝土,取样不应少于一次。留置组数可根据实际需要确定。(B)A.正确
B错误
7)(-0-选题)若该工程采用螺旋灌注桩基础,桩顶标高至少要比设计标高高出(A)。A.0.5 rn
B.1.0 m
C.1.5 m D.2.0 m 8)(单选题)若该工程内墙采用混凝土小型空心砌块砌筑,浇灌芯柱的混凝土,宜选用专用的小砌块灌孑L混凝土,当采用普通混凝土时,其坍落度不应小于(C)。A.70 1TlIn
B.80 mm
C.90 rnlTl D.100 T11rn 9)(判断题)若该工程内墙采用混凝土小型空心砌块砌筑,墙体的水平灰缝抽检方法为:用尺量5小砌块的高度和2m砌体长度折算。(A)A.正确
B.错误
10)(多选题)(AB)属于A材料采购和加工执行阶段的业务。A.供方交货
B.需方收货
C.达成采购协议
D.材料采购业务人员与物资企业进行业务谈判
第三篇:设计模式心得体会
设计模式心得体会
第一篇:设计模式
7月初的一个周末,准确的说应该是7月1号周六,在网上看到一本《大话设计模式》的书,而且看到很多很好的评论,于是乎,下载了电子书看看,一下子看了几章之后,对设计模式有了个了解,于是继续上网搜些其他资料,进一步了解设计模式。最终结论:设计模式是个好东西,具体怎么好,一两句话是无法概括的,也是从那天起,我就决定学习设计模式,于是就看《大话设计模式》,至七月十多号,大概看了一百多页后,感觉有点难,有点看不下去的感觉,于是上网找其他的好方法,无意间发现了李建忠老师的《c#设计模式纵横谈》系列讲座,微软的webcast课程,主要讲解gof的xx个设计模式,每个一讲,加上一头一尾,共xx讲,试听了一节课后,感觉很有用,于是就抽时间去边听课边看书,并在我的博客里写下笔记,依赖加深印象,二来可以督促我的进度。
三个月以来,总算把设计模式学完一遍了,原计划是两个月学完(一星期三个模式),由于。计划两个月学完实际花了三个月,感触多多,收获多多——对c#语言有了更进一步的认识,对oo的思想有了更全面的了解。下一步在设计模式方面的计划:巩固并运用设计模式,巩固:把《大话设计模式》,《设计模式》,《设计模式——可复用的面向对象基础》,《敏捷软件开发:原则、模式与实践》这些书再结合起来系统的看一看,当然还会去买一些我手头上没有的关于设计模式的书;运用:部门前几天也提倡用c#来改版vb程序,我想这是一个很好的平台,正好有机会把理论的东西在实际中应用,理论加实际——唯一的学习方法。
下面对各个模式再简单总结一下:
1、创建型模式:
singleton:解决的是实例化对象的个数的问题,比如抽象工厂中的工厂、对象池等,除了singleton之外,其他创建型模式解决的都是new所带来的耦合关系。
abstractfactory:创建一系列相互依赖对象,并能在运行时改变系列。
factorymethod:创建单个对象,在abstractfactory有使用到。
prototype:通过拷贝原型来创建新的对象。
factorymethod,abstractfactory,builder都需要一个额外的工厂类来负责实例化一边对象,而prototype则是通过原型(一个特殊的工厂类)来克隆易变对象。
如果遇到易变类,起初的设计通常从factorymethod开始,当遇到更多的复杂变化时,再考虑重构为其他三种工厂模式(factorymethod,abstractfactory,builder)。
2、结构性模式
adapter:注重转换接口,将不吻合的接口适配对象,用于旧代码复用、类库迁移等。
bridge:注重实现抽象和实现的分离,支持对象多维度的变化。
composite:注重同意接口,将一对多的关系转化为一对一的关系,屏蔽对象容器内部实现结构,实现对象和对象容器使用的一致性。
decorator:注重稳定接口,在此前提下为对象扩展功能,实现对象功能的扩展,避免子类膨胀。
facade:注重简化接口,屏蔽各子系统的复杂性,提供更高层接口供客户访问。
flyweight:注重保留接口,在内部使用共享技术对对象存储进行优化(通过共享大量细粒度对象,提供系统性能)。
proxy:注重假借接口,通过增加间接代理,实现更多控制,屏蔽复杂性。
3、行为型模式
templatemethod:封装算法结构,定义算法骨架,支持算法子步骤变化。
strategy:注重封装算法,支持算法的变化,通过封装一系列算法,从而可以随时独立于客户替换算法。
state:注重封装与状态相关的行为,支持状态的变化,通过封装对象状态,从而在其内部状态改变时改变它的行为。
memento:注重封装对象状态变化,支持状态保存、恢复。
mediator:注重封装对象间的交互,通过封装一系列对象之间的复杂交互,使他们不需要显式相互引用,实现解耦。
chainofresponsibility:注重封装对象责任,支持责任的变化,通过动态构建职责链,实现事务处理。
command:注重将请求封装为对象,支持请求的变化,通过将一组行为抽象为对象,实现行为请求者和行为实现者之间的解耦。
iterator:注重封装特定领域变化,支持集合的变化,屏蔽集合对象内部复杂结构,提供客户程序对它的透明遍历。
interpreter:注重封装特定领域变化,支持领域问题的频繁变化,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。
observer:注重封装对象通知,支持通信对象的变化,实现对象状态改变,通知依赖它的对象并更新。
visitor:注重封装对象操作变化,支持在运行时为类结构添加新的操作,在类层次结构中,在不改变各类的前提下定义作用于这些类实例的新的操作。
正确对待模式:
设计模式建立在对系统变化点的基础上进行,哪里有变化,哪里就应用设计模式。
设计模式应该以演化的方式来获得,系统的变化点往往是经过不断演化才能准确定位。
不能为了模式而模式,设计模式是一种软件设计的软力量,而非规范标准,不应夸大设计模式的作用。
设计模式心得体会(2):
从一开始学习设计模式至今已半年有余了,第一次接触设计模式是一次不经意间在网上看到《大话设计模式》一书,看了前言了第一章后,就感觉到其诱惑力对于一个程序员来说,是无比巨大的。大概是去年十月份的时候,部门决定成立读书会,系统学习设计模式。
通过学习设计模式,除了学习到一些设计模式,还让我进一步熟悉、巩固了面向对象思想,进一步熟悉了c#语言。我曾多次设想,我们如果引入面向对象思想,并结合设计模式来重写或改善我们的系统(必须重写,虽说设计模式只是一种思想,语言只是实现而已,但是选择一门好的语言,无疑也是非常重要的,而vb6在面向对象方面却有很大欠缺甚至不具备其条件),那么我们的系统将会像目前一样需要那么多人来维护吗?
《大话设计模式》一书其实是对gof的《设计模式——可复用面向对象软件的基础》一书的翻译,让人更容易理解,用通俗易懂的语言阐述软件设计过程中的一些模式,在某种特定环境下,用最好的设计方法(代码高内聚,低耦合,使其有良好的可扩展性和可维护性)达到我们的目的,或许其方法有很多很多,但是寻找到最好的方法却不是件容易的事,设计模式是对前人的设计经验的一个总结,告诉我们在某种特定的环境下,这样的设计师最好的,学习设计模式有助于我们在设计软件的过程中少走很多弯路。
我对gof的xx个设计模式虽然都有看过,但是只有理解,实现,应用及思考之后,才能真正体会其精妙之处,至今体会较深的有以下几个模式:1strategy——封装系列算法,让它们之间可以相互替换,算法并不是单指数据结构中的算法,在实践中,它几乎可以封装任何类型的规则,这使得策略模式的运用极其广泛;2templatemethod——有人说是用的做多的模式,只要有抽象类的地方,都可以看到这个模式,它通过把不变行为移到父类中去,去除子类中的重复代码,从而提供了一个很好的代码复用平台;3facade——提供了对基础架构的统一访问,减少复杂性,在web编程者中的三层架构,就是此思想,每一层都封装好一部分功能,提供给上一层统一的方法调用,整个framework体系就是facade模式的封装,随着xx升级到xx,越来越多复杂的高级功能被封装,可以说facade无处不在;4abstractfactory——提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类,咋一看,太抽象了,说个例子,在三层架构中,bll层对dal层的调用会直接用到dal层中的类,如果dal层是分别对sqlserver,oracle的访问,bll层需要根据实际情况决定实例化哪一个dal层中的类,我们又希望在两种dal层切换时,bll层和ui层都不做改变,那么可在bll层和dal层中增加接口层(体现了抽象的精神,或者说是面向接口编程的最佳体现)和抽象工厂(dalfactroy),让它来实例化dal层中的实例;5singleton——确保一个类仅有一个实例,并提供一个访问它的全局访问点,如单件窗体,点一下menu,弹出一个窗体(实例),在关闭这个新窗体之前,再次点击该menu,不会再次出现同样的弹出窗体(实例)。篇幅有限,其他模式或多或少都有点感觉。
最后,引用《设计模式解析》书中的一句话:设计模式体现的是一种思想,而思想是指导行为的一切,理解和掌握了设计模式,并不是说记住了xx种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想融入到了你的思想中后,你就会不自觉地使用这种思想去进行你的设计和开发,这一切才是最重要的。
第二篇:设计模式初学心得
以前没有接触过设计模式,那其实也是因为以前没有真正经历过面向对象的设计。这样的情况在我经历了本科毕业设计,并且遵循我们实验室的一位师兄的建议看了《设计模式精解》([美]alanshal(转载请注明来源:)loway&jamesrtrott著,熊节译)后有了根本的改变,我开始意识到一个程序员和一个设计者的区别,我也开始意识到在同学眼中“编程很强”的我只是——至少现在只是一个程序员。
我做的本科毕设是基于java-swing设计一个类似绘图程序的系统,最终我设计出来的程序,在别人看来很不错。但是只有我自己知道,我的设计其实是糟糕了,最明显的就是低内聚、紧耦合,那些代码甚至连我都不愿意去维护。于是当我看到书中的一句话:“几乎百分之百的软件都不是由它最初的设计者去维护的??”,更让我感到这次设计的失败(就连它的设计者都不原意去维护)。
《设计模式精解》的出现可以说让我眼前一亮,这也是第一本让我想再读一次的书(即使现在我还没有读完)。究竟什么是模式?书中的解释是“模式是针对特定场景下的特定问题的可重复、可表达的解决方案”,除此之外模式还必须有三个要点:
1.可重复性。解决方案应该对应于外部的场景。2.可传授性。一个解决方案应该可以移植到问题的不同情况中(绝大多数模式的可传授性都建立在“约束”和“效果”的基础上)。
3.用来表示这个模式的名称。
模式不限于面向对象,不限于设计阶段,甚至不限于软件开发领域。设计模式只是模式的一个子集。
在前言中作者说在他对现有的设计模式的指导原则及策略都非常清楚之后,这些原则帮助他决定开始过一种为人解惑的生活??虽然我第一次看到“为人解惑的生活”这个词语,但是我立刻感到这也是我所向往的一种生活。
书中介绍了软件开发过程中的三个不同视角:
1.概念视角。这个视角“展现了问题领域中的概念??一个概念模型可以在对实现软件有很少或毫无注意的情况下画出??”
2.规格视角。“只看软件的接口,而不看实现” 3.实现视角。就是现在的我唯一使用的视角——置身于代码之中。
看到这里我更加肯定了这本所讲的是我从来没有注意过的东西,但是我对这些东西应该非常感兴趣,而我也深深地感慨:我为什么现在才看到这本书。在书中作者回顾了它从前的一个设计,通过不断修改得出的优秀设计,逐步展现出设计模式的强大威力。书中有句话很经典——如果你只有一把锤子,那你会发现所有的东西都像钉子。意思是说如果你只知道一种解决问题的办法,那你只会想用这个方法解决所有问题。我觉得这很像现在的我,在面向对象的设计中我几乎只会“类继承”,结果是我的毕设——过高的继承体系导致紧耦合、低内聚。
当我学到书中介绍的第一个设计模式:facade模式,我立刻对这些设计模式产生了浓厚的兴趣,我发现自己像一个“完美主义者”,在试图追求结构完美的程序代码(可读性好、易于维护),而设计模式给我提供了这样的可能,尽管我仅仅看到了它的一点点部分。设计模式就像一个漂亮的女孩,而且你知道她不仅外表很漂亮,也很有内涵,那你想做的事情还有什么呢?当然是尽快接近并了解她?? 第三篇:设计模式之心得
刚学几天就有一些浅薄的心得了。
在学过的几种设计模式中(目前为止,本人只学过创建性模式),每一种设计模式都会有一种具体的应用场景,每一种场景描述的都是一种需求变化。设计模式就是用来解决这些变化的。只要客户有新的需求,你的程序就要发生改变,不管你用什么方法,这个改变是避免不了的。关键是你如何是解决这种变化!设计模式就是寻求一种通用的较好的方法来解决这种变化而不是避免这种变化,并不是你应用了设计模式,你的系统就不会发生变化了。
面向对象的编程有三大机制,我个人认为,设计模式很好的利用了其中的“封装与多态”(当然并不是所有的设计模式都是这样的,也不是说继承就没用,继承在三大机制排第一呀,是基本的),比如工厂方法模式和生成器模式。“封装”的意义不仅仅在于封装代码的实现,更重要的是“封装”系统中变化的部分。设计模式回答了怎么样去“封装”这种变化。
在一个系统中,总会有一部分经常发生变化,相对的,也总有一个部分是改变频率较低的,我们可以在某种范围内将其理解为不改变的部分。设计模式要作的事情就是把“变化”的部分封装起来,实现将“变化”的部分与“不变化”的部隔离,这样,“变化”的部分在发生变化时,不会影响到“不改变”的部分。如果你也学过设计模式,那你可能跟我有同感。设计模式解决变化的途径可以概括为两步(纯属个人见解):一是转移变化,二是转化变化。
首先是“转移变化”。简单的说就是把a部分的变化转移到b部分,请b去变化,让a不发生变化。在程序中就是将变化从调用者转移到被调用者。比如,你有一个类scene,这个类用于显现一种风格的游戏场景,调用程序实例化这个类并使用它。如果有一天,需求改变了,当前风格的游戏场景颜色太冷了,我需要改变当前场景的颜色。这个时候你要决定,要让谁去发生变化?是让客户调用程序去改变scene类的颜色属性呢,还是让你的类scene发生变化?设计模式回答的是,请scene发生变化,调用者不发生变化。
为什么要这样回答,因为这个时候,你的系统可能已经交付用户了,如果让调用者发生变化,那整个系统都要发生变化。(这里讨论只是一个简单的应用,实际情况中往往没有这里简单。如果实际情况是这么简单的话,设计模式估计就没有用处了。)
然后是“转化变化”。
确定了要改动scene,那要怎么样去改scene呢?直接改吗?当然不行,如果是这样改,那还不如让调用者去设置scene的某个属性呢,反正都要重新部署。那要怎么改?“扩展”,把这种“改变”转化为“扩展”。你不是要另外一种
scene吗?那我重新为你设计一个sence并生成dll交付你,然后让现有的程序去调用这个scene。当然,这时可能需要调用者稍微的发生一下变化,比如开始调用者是直接调用scene来呈现场景的,现在将其改为根据配置文件来决定要呈现那种scene。但是如果之前你已经考虑到这个问题了,那调用者是不需要发生任何变化的,因为调用者是根据配置来决定所呈现的场景,需求发生弯化,只需要改变配置文件(可能是一个xml),把调用者与新添的scene关联即可,这样一来,“改动”就变为“扩展”,其带来的好处也是显而易见的,这也就是所谓的“开闭”原则。
以上文字完全是本人理解,随着不断的学习,我想这么文章估计要被改好多次,这是一个学习的过程。理解错了、写错了都不要紧,关键是你怎么样去面对这种错误!是拒绝承认错误还是正视错误?这也是设计模式回答的问题。
第四篇:洋思模式心得体会 洋思模式心得体会
从学习杜郎口到学习洋思已经好几年了,每年每学期都要进行大规模的听课活动,可谓轰轰烈烈,但学习了好几年时间,我心中仍然一塌糊涂,一知半解,难以灵活运用,尝试着运用时,也是提襟见肘,顾此失彼。所以成功的经验很少,只能有一点粗略的感受。我觉得目标设计尽量的要简洁明了,通俗易懂,要让绝大多数学生能够完成,如果太难或过于简单,都不利于学生的学习。目标设计应控制在1----3条为宜,如果目标太多,一节课根本无法完成,那就白设计了,从学生的角度来说,当看到很多的目标时,心中会产生恐惧和排斥情绪,不利于学习。
由于条件限制,当堂训练时只能采用课后练习和配套练习,缺少灵活性,对于在电子白板上做练习题,我总觉得效果不太好,因为一道题目看过后,印象不深,只有亲手做过,才能记忆深刻。
其它环节,我正在努力尝试、探索。第五篇:模式心得体会 教学模式心得体会
近几年,我们在校领导的带领下,实施了有本校特色的四大模块,八大环节的课堂教学模式。通过我们几年来的努力专研,现在,我们都可以很流畅的把我校的教学模式运用到我们的课堂教学中了,当然,在这几年的专研中,我也有了自己的体会,现在,我就谈谈我个人的一些看法。
一、改变旧观念,接受新模式 对于一个新的事物,需要通过不断地学习去了解它,新的教学模式也是这样。这学期,学校组织我们进行了多次学习,深入了解新模式的内涵、原则及实施细则,并组织我们通过数多次的教学研讨课,让我们真正了解这种模式的操作方法。不管是讲座还是听课教研,我都积极参加,积极与同行进行研究,认识到了新模式的确有助于培养学生自主学习的能力,有助于培养学生的合作意识,有助于学生学习能力的提高,有助于切实提高课堂效率。于是,我就积极在自己的课堂上进行尝试,努力实现学生主体、教师主导的高效课堂。
二、把课堂还给学生
每节课上,我都不断地提醒自己:“要放手,还给学生更多的学习时间。学生会的,教师不讲;学生能说出来的,教师不说;学生通过谈论能解决的,就让学生讨论解决。”有了这样的意识,课上,学生活动的机会多了,学生读书的时间有了,学生合作的机会有了,学生自主学习、独立解决问题的能力提高了。课上,我只挑关键性的问题、共性问题组织教学,充分发挥激励的作用,让学生尽情地
展示自己。这样,学生的学习热情高涨,谁都想表现自己,谁都想得到大家的认可,学习效果有了提高。
三、把课前的准备做充分
每节课的教学,都需要教师事先的精心准备。我们的教学模式更是如此,哪怕就是指导学生怎样预习。我刚开始带的学生第一次接触预习,学生不知道该怎样下手,所以,手把手地教给方法就显得尤为重要。我为了让学生学会预习,我不怕耽误课堂时间,亲自在课堂上对学生预习的每一步进行指导,比如,我告诉学生要通过自己拼读音标来学会读单词,要通过英汉互译来熟练掌握单词。我还要亲自在课堂上指导学生如何写预习笔记,如此反复,虽然学生的预习还是不能完全放手,但是,看到相当一部分学生已经开始自主地预习下一单元时,我还是感到很欣慰,毕竟小进步也比原地踏步强。
针对这几年的英语教学,我也有点自己的看法:
一、靠持续不断的语言知识,而不是“玩”来培养学生持久的兴趣初中英语教学是要重视培养兴趣,但单靠唱歌游戏不能培养学生持久的兴趣。新鲜劲儿一过,孩子们就会厌倦。所以,唱歌游戏应该作为初中学生学习英语语言知识、技能的一些手段,而不是培养兴趣的手段。我们可以采用多种手段帮助学生在记忆力强的时期多记单词,多学习语言规则,并尽可能多创造模仿的机会,提高学生的语音和语调。在英语学习中,听、说、读、写、译五种能力是可以互补的。真正做到听说先行,读写跟上。光听说不读写,很难收到高效。只靠模仿不培养学习能力,也难减轻学习负担。所以初中学生还是应
当认真进行语言学习。
二、英语应用能力需要相应的词汇。“不学习语言规则、不掌握相当数量的词汇,英语应用能力就是空中楼阁”。目前在中学的低年级的英语教学中,不要求学生掌握词汇,而只要求学生能根据提示或图片说出该单词,其本质无非是要学生们死记硬背,鹦鹉学舌。由于学生们没有相应的读音规则训练,不熟悉词汇的拼写规则,单词的音、形、意三者不能有效的结合在一起,因而导致了单词记忆的困难,并成了中学生学英语的瓶颈。
三、中学英语教师应有发展意识一向以来,人们中学英语教师的语言知识能力要求不高,认为中学英语简单,不需要太好的语言功底,只要有良好的教学技能就可以了。其实时代在进步,社会在发展,同样英语作为人们最广泛的交际用语之一,更是随着高科技的迅猛发展而日新月异地变化着。如果我们的英语教师故步自封,不求进取,那么不但自己的语言知识很快陈旧落伍,误人子弟,而且会被时代所淘汰。“changingenglishinthechangingworld”。现代英语的变化,特别是口语方面的变化可从以下几个方面体现出来:
1、随着人们生活节奏的不断加快,更因为国际互联网的形成,人们之间的交际变得越来越简捷。说话简单快捷,是现代人生活的一大特征。现代英语在这方面的变化表现为“一字多用”。
2、随着现代科学技术的迅猛发展,现代英语词汇急剧增加,并且我们发现,现代英语词汇有相当一部分是取得新义的旧词,如,“input”(输入电子计算机的数据),“store”(电子计算机的储存器),“drive”(计
算机驱动器)等。
3、英国英语和美国英语之间的距离越来越小。也许是美国对世界政治、经济影响日益强大的原因,美国英语的影响也越来越大,特别是对青少年的影响越来越大,他们以使用美语和发美国音为时髦。
当然,在实施新的教学模式的过程中我也有些困惑,譬如说学生由于作业量的增多而忽略了预习,导致课堂上不下去课的情况,我想,学校会为我们的教学模式的实施创造很好的条件的,相信在不久的将来,我们可以把教学模式变成我们自己的模式,在教学上更上一层楼
第四篇:设计模式小结
-----摘自设计模式之禅
一、创建类模式:
包括工厂方法模式、建造者模式、抽象工厂模式、单例模式和原型模式,提供对象的创建和管理职能。
1、单例模式是要保持在内存中只有一个对象。
2、原型模式是要求通过赋值的方式产生一个新的对象。
3、工厂方法模式和建造者模式都属于对象创建类模式,都用来创建类的对象。区别:(1)意图不同
工厂方法模式,关注的是一个产品整体。无须关注产品的各部分是如何创建出来的;建造者模式中,一个具体产品的产生是依赖各个部件的产生以及装配顺序,它关注的是“由零件一步一步地组装出产品对象”。简单的说,工厂模式是一个对象创建的组线条应用,建造者模式则是通过细线条勾勒出一个复杂对象,关注的产品组成部分的创建过程。(2)产品的复杂度不同
工厂方法模式创建的产品一般都是单一性质产品,而建造者模式创建的则是一个复合产品,它由各个部分复合而成,部件不同产品对象不同。它们的粒度大小不同,一般来说,工厂方法模式的对象粒度比较粗,建造者模式的产品对象粒度比较细。
4、抽象工厂模式比建造者模式的尺度要大,它关注产品整体,而建造者模式关注构建过程,因此建造者模式可以很容易地构建出一个崭新的产品,只要导演类能够提供具体的工艺流程。也正因为如何,两者的应用场景截然不同,如果希望屏蔽对象的创建过程,只提供一个封装良好的对象,则可以选择抽象工厂方法模式。而建造者模式可以用在构件的装配方面,如通过装配不同的组件或者相同组件的不同顺序,可以产生一个新的对象,它可以产生一个非常灵活的架构,方便地扩展和维护系统。
二、结构类模式 包括适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式和代理模式。
1、代理模式与装饰模式
代理模式是把当前的行为或功能委托给其他对象执行,代理类负责接口限定:是否可以调用真实角色,以及是否对发送到真实角色的消息进行变形处理,它不对被主题角色(被代理类)的功能做任务处理。代理模式使用到极致开发就是AOP,使用了代理和反射的技术。
装饰模式是在要保证接口不变的情况下加强肋的功能,它保证的是被修饰的对象功能比原始对象丰富(或减弱),但不做准入条件判断和准入参数过滤,如是否可以执行类的功能,过滤输入参数是否合规等,这不是装饰模式关心的。
在jdk的java.io.*包中大量使用装饰模式
2、装饰模式与适配器模式 a.意图不同
装饰模式的意图是加强对象的功能,它不改变类的行为和属性,只是增加(减弱)功能;而适配器莫斯关注的则是转化,它的主要意图是两个不同对象之间的装好,它关注转换。b.施与对象不同
装饰模式装饰的对象必须是自己得同宗,也就是相同的接口或父类,只有在具有相同的属性和行为的情况下,才能比较行为是增加还是减弱;适配器模式则必须是两个不同的对象,因为它着重于装换,只有两个不同的对象才有装换的必要。c.场景不同
装饰模式在任何时候都可以使用,只要是想增强类的功能,而适配器模式则是一个补救模式,一般出现在系统成熟或已经构建完毕的项目中,作为一个紧急处理手段采用 d.扩展性不同
装饰模式很容易扩展;但适配器模式建立模式,去除困难。
三、行为类模式 包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。
1、策略模式与命令模式
两个模式相似,特别是命令模式退化时,如无接受者,这种情况下,两个模式类图完全一样,代码实现也比较相似,区别: a.关注点不同
策略模式关注的是算法替换的问题,一个新的算法投产,旧算法退休,或提供多种算法由调用者自己选择使用,算法的自由更替是它实现的要点。换句话说,策略模式关注的是算法的完整性、封装性,只有具备了这两个条件才能保证其可以自由切换。
命令模式则关注的是解耦问题,如何让请求者和执行者解耦是它需要首先解决的,解耦的要求就是把请求内容封装为一个个的命令,由接收者执行。由于封装成了命令,就同时可以对命令进行多种处理,例如撤销、记录等 b.角色功能不同
策略模式中的具体算法是负责一个完整的算法逻辑,它是不可再拆分的原子业务单元,一旦变更就是对算法整体的变更。
而命令模式则不同,它关注命令的实现,也就是功能的实现。接收者对命令负责,与请求者无关。命令模式中的接收者只要符合六大设计原则,完全不用关心它是否完成了一个具体逻辑,它的影响范围也仅仅是抽象命令和具体命令,对它的修改不会扩散到模式外的模块。
c.策略模式使用于算法要求变换的场景,而命令模式适用于解耦两个有紧耦合关系的对象场合或多撤销的场景。
2、策略模式与状态模式 a.环境角色的职责不同
两者都有一个叫做context环境角色的类,但区别很大,策略模式的环境角色只是一个委托左右,负责算法的替换;而状态模式的环境角色不仅仅是委托行为,它还具有登记状态变化的功能,与具体的状态类协作,共同完成状态切换行为随之切换的任务 b.解决问题的重点不同
策略模式旨在解决内容算法如何改变的问题,也就是将内部算法的改变对外界的影响降低到最小程度,它保证的是算法可以自由地切换;而状态模式旨在解决内在状态的改变而引起行为改变的问题,它的出发点是事物的状态,封装状态而暴露行为,一个对象的状态改变,从外界来看好像是行为改变。c.解决问题的方法不同。
策略模式只是确保算法可以自由切换,但是什么时候用什么算法它决定不了;而状态模式对外暴露的是行为,状态的变化一般是由环境角色和具体状态共同完成的,也就是说状态模式封装了状态的变化而暴露了不同的行为或行为结果。d.应用场景不同
策略模式是一系列平行的、可相互替换的算法封装后的结果,这就限定了它的应用场景:算法必须是平行的。状态模式则要求有一系列状态发生变化的场景,它要求的是有状态且有行为的场景,也就是一个对象必须具有二维(状态和行为)描述采用采用状态模式,如果只有状态而没有行为,则状态的变化就失去了意义。e.复杂度不同
通常策略模式结构简单,易扩展。
状态模式比较复杂,它封装的是变化,而变化无穷。
3、观察者模式(触发链、观察者链)与责任链模式 a.链中的消息对象不同
从首节点开始到最终的尾节点,两个链中传递的消息对象是不同的。责任链模式基本不改变消息对象的结构,虽然每个节点都可以参与消费(一般不参与消防),但它的结构不会改变;再触发链模式中传递的对象是可以自由变换,只要上下级节点对传递对象了解即可,它不要求链中的消息对象不变化,它只要求链中相邻两个节点的消息对象固定
四、综合1、2、b.上下节点的关系不同
在责任链模式中,上下节点没有关系,都是接收同样的对象,所有传递的对象都是从链首传递过来,上一节点是什么没关系,只要按照自己得逻辑处理就成。而出发链模式就不同,它的上下级关系很亲密,下级对上级顶礼膜拜,上级对下级绝对信任,链中的任意两个相邻节点都是一个牢固的独立团体。c.消息的分销渠道不同
再责任链模式中,一个消息从链首传递进来后,就开始沿着链条向链尾运动,方向是单一的、固定的;而触发链模式则不同,由于它采用的是观察者模式,所以有非常大的灵活性,一个消息传递到链首后,具体怎么传递是不固定的,可以以广播方式传递,也可以以跳跃方式传递,取决于逻辑。
策略模式与桥梁模式
策略模式是一个行为模式,旨在封装一系列的行为。而桥梁模式则是解决在不破坏封装的情况下如何抽取出它的抽象部分和实现部分,它的前提是不破坏封装,让抽象部分和实现部分都可以独立地变化。简单的说,策略模式是使用和实现都可以独立扩展的模式。桥梁模式必然有两个“桥墩”-抽象化角色和实现化角色,只要桥墩搭建好,桥就有了,而策略模式只有一个抽象角色,可以没有实现,也可以有很多实现。
门面模式与中介者模式
门面模式是以封装和隔离为主要任务,而中介者模式则是以调和同事类之间的关系为主,因为要调和,所以具有了部分的业务逻辑控制。区别: a.功能区别
门面模式只是增加了一个门面,它对子系统来说没有增加任务的功能,子系统若脱离门面模式是完全可以独立原型的。而中介者模式则增加了业务功能,它把各个同事类中的原有耦合关系移植到了中介者,同事类不可能脱离中介者而独立存在,除非是想增加系统的复杂性和降低扩展性。b.知晓状态不同
对门面模式来说,子系统不知道有门面存在,而对中介者来说,每个同事类都知道中介者存在,因为要依靠中介者调和同事之间的关系,他们对中介者非常了解。c.封装程度不同
门面模式是一种简单的封装,所有的请求处理都委托给子系统完成,而中介者模式则需要有一个中心,由中心协调同事类完成,并且中心本身也完成部分业务,它属于更进一步的业务功能封装。
第五篇:教学设计模式
教学设计模式——迪克-凯瑞模式
迪科-凯利(Dick & Carey)模式(如下图)是典型的基于行为主义的教学系统开发模式。该模式从确定教学目标开始,到终结性评价结束,组成一个完整的教学系统开发过程。在该模式中,教学设计活动主要包括如下几个方面:
(一)确定教学目标
教学目标的确定主要是通过对社会需求、学科特点以及学习者特点三个方面进行分析而得出。教学目标一般以可操作的行为目标形式加以描述。
(二)选用教学方法
在教学目标确定以后,接下来的工作就是如何实现教学目标的问题。教学方法的选用可以通过选用合适的教学策略以及教学材料得以实现。
(三)开展教学评价
这里的教学评价也包括形成性评价以及终结性评价两个方面
迪克-凯瑞模式
教学设计模式——肯普模式
肯普(J.E.Kemp)认为,一个教学系统应包括四个基本要素,即学生、方法、目标和评价。也就是说,在进行教学设计时要考虑:这个教案或教材是为什么样的人而设计的?希望这些人能学到什么?最好用什么方法来教授有关的教学内容?用什么方法和标准来衡量他们是否确实学会了?
肯普认为这四个基本要素及其关系是组成教学系统开发的出发点和大致框架,并由此引伸开去,提出了一个教学系统开发的椭园型结构模型,如下图所示。该模式有几个特点。
肯普模式
首先,肯普列出了10个教学设计的“因素”,而不称之为步骤,以表示它的整体性以及设计过程之弹性。10 个因素虽然根据逻辑顺时针排列,一般在设计一个新教学方案时可以按照这些顺序进行,但肯普没有用线条和箭头将各因素连接起来,说明在某些情况和条件下,可能根本不必考虑或进行全部的因素(环节),或是由任何一个因素作为设计的起点,再依实际情况继续下去。肯普以椭园形将10项因素圈在整个系统中,并以外围的“评价”和“修改”表示这是两件整个设计过程中持续进行的工作。这更显示出系统方法的分析设计评价反馈修正的工作策略实际上是在模式中每一因素(环节)中均执行的基本精神。因此,这个模式在形式上比其他许多流程型的模式更能反映系统论的观念。
肯普模式的另一个特色是将“学习需要”、“教学目的”、“优先顺序”和“约束条件”置于中心地位,以强调教学设计过程中必须随机拿这几个因素作为参考的依据。如前所述,教学系统是由一组有共同目标和相互关联的因素所组成的,其作用范围是人为设定的,因此,肯普将学习需要和教学目的置于中心正是突出了系统方法的以系统目标为导向的本质。同时,教学系统的设计过程离不开环境的制约:先考虑什么,后考虑什么,能做什么,不能做什么等等,都必须以环境的需要和可能为转换。
肯普模式不象其他许多模式那样只能按线性结构按部就班地进行设计,而是设计者可以根据自己的习惯和需要,选择某个因素为起始点,并将其余因素按照任意逻辑程序进行排列;说明因素之间具有相对独立性,如某些情况下不需要那一个因素便可不予考虑,避免了形式化;说明了因素之间的相互联系性,一个因素所采取的决策会影响其他因素,一个因素决策内容变动,其相联系的因素必须作一定的修改。
教学设计模式——尼文模式
尼文(N.Nieveen)在总结前人模式的基础上,对教学开发模式进行了改进,将线性模式与环行模式相结合(如图)。该模型更加直观形象地描述了教学系统开发的真实过程,体现了如下两个方面特点:
1.将原来的评估部分细化为形成性评价以及终结性评价两部分。形成性评价的目的是在系统开发的过程中实施评价,便于提高系统性能;而终结性评价的目的则是在系统开发结束以后进行评价,对系统性能、效果等作出定性、定量的描述。2.设计、开发、实施以及形成性评价是一个循环往复的统一体。一个完善教学系统的开发,往往要经过几个循环往复的过程才能实现。
尼文模式