设计模式题目汇总

设计模式题目汇总

ID:35310632

大小:224.72 KB

页数:9页

时间:2019-03-23

设计模式题目汇总_第1页
设计模式题目汇总_第2页
设计模式题目汇总_第3页
设计模式题目汇总_第4页
设计模式题目汇总_第5页
资源描述:

《设计模式题目汇总》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1.简述六大设计模式原则。答:设计模式六大原则(1):单一职责原则不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 设计模式六大原则(2):里氏替换原则所有引用基类的地方必须能透明地使用其子类的对象。设计模式六大原则(3):依赖倒置原则高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。设计模式六大原则(4):接口隔离原则客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 设计模式六大原则(5):迪米特法则一个对象应该对其他对象保持最少的了解。设计模式六大原则(6):开闭原则一个软件实体如类、模块和函

2、数应该对扩展开放,对修改关闭。2、抽象工厂和工厂方法的区别?P162Person类(合并的component和oncretecomponent)classPerson{publicPerson(){}privatestringnamepublicPerson(stringname){this.name=name;}publicvirtualvoidshow(){Console.WriteLine("装扮的{0}",name);}}Garment类(Decorator)classGarment:Person{protectedPersoncomponenet;//打扮publicvoi

3、dDecorate(Personcomponent){this.component=component;}publicoverridevoidShow(){if(component!=null){component.Show()}}}具体服饰类(ConcreteDecorator)classTShirts:Garment{publicoverridevoidshow(){Console.Writer("大T恤");base.Show()}}其余类类似......3、只根据抽象类中定义的接口来操纵对象有什么好处?  答:1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接

4、口。  2) 客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。4、适配器模式和装饰者模式的区别?装饰者模式为了引入新的行为或责任。可以让新的行为加入类中,无需修改现有代码。适配器模式为了得到客户的期望。可以让客户使用新的库的借口,而无需改变任何代码。5、好莱坞原则别调用我们,我们会调用你。6、适配器模式、装饰者模式和外观模式的区别适配器将一个对象包装起来以改变其接口;装饰者将一个对象包装起来以增加新的行为和责任;而外观将一群对象“包装”起来以简化其接口。7、观察者模式提供了一种对象设计可以让主题与观察者之间松耦合的原因:(1)主题只知道观察者实现了某个接口

5、,不需要知道观察者的具体类是谁,做了些什么或其他任何细节。(2)任何时候我们都可以增加新的观察者。(1)有新的类型的观察者出现时,主题的代码不需要修改。(2)我们可以独立地复用主题或观察者。(3)改变主题或观察者其中一方并不会影响另一方。8、装饰者模式、适配器模式以及外观模式的区别:装饰者:目的是为了引入新的行为或责任,无需修改现有的代码适配器:目的是为了得到客户所期望的接口,让客户使用新的库,无需改变任何代码。外观:目的简化接口,将一个或数个类的复杂的一切都隐藏在背后。9、好莱坞原则和依赖倒置原则之间的关系如何?依赖倒置原则教我们尽量避免使用具体类,而多使用抽象。而好莱坞原则是用在

6、创建框架或组件上的一种技巧,好让低层组件能够被挂钩进计算中,而且又不会让高层组件依赖低层组件。两者的目标都是在于解耦,但是依赖倒置原则更加注重如何在设计中避免依赖。好莱坞原则教我们一个技巧,创建一个有弹性的设计,允许低层结构能够互相操作,而又防止其他类太过依赖它们。10、请简述工厂方法模式?工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。11、针对接口编程的含义:针对接口编程,关键在于多态,利用多态,程序可以针对超类型编程,执行时会根据实际情况执行到到真正的行为,不会被绑死在超类型的行为里面。可以说,变量的声明类型应该是超类型。

7、(课本,p12)12、画出装饰者模式的类图(课本,p91)参看课本第91页即可。13、低层组件不可以调用高层组件中的方法吗?答:并不尽然。事实上,底层组件在结束时,常常会调用从超类中继承来的方法。我们所要做的是,避免让高层和低层组件之间有明显的环状依赖。请简要叙述策略模式?答:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换。此模式让算法的变化独立于使用算法的客户。14、一个适配器只能封装一个类吗适配器模式的工作是将一个接口转换成另一个,遇到特殊

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。