java设计模式选择题复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工厂系列模式的优缺点:1.让用户的代码和某个特定类的子类的代码解耦

用户不必知道它所使用的对象是怎样创建的,只需知道该对象有哪些方法

2.抽象工厂模式可以为用户创建一系列相关的对象,使用户和创建这些对象的类脱耦

MVC模式是不是一种设计模式?为什么

MVC不是设计模式,应该是框架/架构模式,因为它的定义是抽象的,没有足够的细节描述使你直接去实现,而只能根据MVC的概念和思想,用几个设计模式组合实现。

举出一个生活中使用装饰者模式的例子,用程序实现思路

举个生活中的例子,俗话说“人在衣着马在鞍”,把这就话用装饰者模式的语境翻译一下,“人通过漂亮的衣服装饰后,男人变帅了,女人变漂亮了;”。对应上面的类图,这里人对应于ConcreteComponent,而漂亮衣服则对应于ConcreteDecorator;

设计模式如何分类,每一个类别都有什么特征?

设计模式分为3类,分别是:创建型模式、行为型模式、结构型模式。

创建型特点:避免用户直接使用new运算符创建对象。

行为型特点:怎样合理的设计对象之间的交互通信,以及怎样合理的为对象分配职

结构型特点:主要用于处理类或对象的组合

Java jdk中使用了哪些设计模式

1.单例

2.静态工厂

3.工厂方法

4.抽象工厂

5.构造者

6.原型

7.适配器8桥接9.组合10.装饰器11.外观12.享元14.代理15.迭代器16.观察者17.协调者1

8.模板方法1

9.策略20.责任链21.命令22.空对象25.解释器

面向对象的设计原则有哪些?

开闭原则、面向抽象的原则(依赖倒转原则)、多用组合少用继承原则、高内聚-低耦合原则。

观察者模式的推拉有什么不同?使用场景

推,具体主题将变化后的数据全部交给具体观察者。场景:当具体主题认为具体观察者需要这些变换后的数据时,往往采用推数据方式;

而是提供获得这些数据的方法。具体主题不将变化后的数据交给具体观察者,拉,往往采用拉当具体主题不知道具体观察者是否需要这些变换后的数据时,场景:数据的方式。策略模式和工厂模式有什么不同?策略模式定义了一系列算法,将他们一个个封装,并且他们之间可以相互替换;工厂模式定义一个创建对象的接口,让子类决定实例化哪一个类

5观察者模式的推拉有什么不同?适用场景现在要说的分歧在这里:

“推”的方式是指,Subject维护一份观察者的列表,每当有更新发生,Subject 会把更新消息主动推送到各个Observer去。

“拉”的方式是指,各个Observer维护各自所关心的Subject列表,自行决定在合适的时间去Subject获取相应的更新数据。

“推”的好处包括:

1、高效。如果没有更新发生,不会有任何更新消息推送的动作,即每次消息推送都发生在确确实实的更新事件之后,都是有意义的。

2、实时。事件发生后的第一时间即可触发通知操作。

3、可以由Subject确立通知的时间,可以避开一些繁忙时间。

4、可以表达出不同事件发生的先后顺序。

缺点:精确性较差,不能保证能把信息送到客户器。

“拉”的好处包括:

1、如果观察者众多,Subject来维护订阅者的列表,可能困难,或者臃肿,把订阅关系解脱到Observer去完成。

2、Observer可以不理会它不关心的变更事件,只需要去获取自己感兴趣的事件即可。

3、Observer可以自行决定获取更新事件的时间。

4、拉的形式可以让Subject更好地控制各个Observer每次查询更新的访问权限。缺点:不能够及时获取系统的变更。

策略模式和工厂模式有什么不同?6更简洁的说是定义策策略模式是为了解决的是策略的切换与扩展,一般情况下,策略模式让策略的变化独立于让他们之间可以相互替换,略族,分别封装起来,而工厂模式主工资计算系统等。使用策略的客户。可以应用的场景有优惠系统、让对象的创建和具体将对象的创建完全独立出来,要解决的是资源的统一分发,很明显的是策略类库文件加载等。的使用客户无关。主要应用在多数据库选择,大多数事情要你自己亲力作为一个主体你的活动范围是全程的,模式是开放的,很多事情都作为主体的你的活动范围是有限的,亲为。而工厂模式作是封闭的,帮组你做好了,你直接“点”就可以了。

装饰者模式和适配器模式的比较71.关于新职责:适配器也可以在转换时增加新的职责,但主要目的不在此。装饰者模式主要是给被装饰者增加新职责的。

2.关于原接口:适配器模式是用新接口来调用原接口,原接口对新系统是不可见或者说不可用的。装饰者模式原封不动的使用原接口,系统对装饰的对象也通过原接口来完成使用。(增加新接口的装饰者模式可以认为是其变种--“半透明”

装饰者)

3.关于其包裹的对象:适配器是知道被适配者的详细情况的(就是那个类或那个接口)。装饰者只知道其接口是什么,至于其具体类型(是基类还是其他派生类)只有在运行期间才知道。

8为什么要用设计模式,设计模式有哪些优点

设计模式的优点:

1、设计模式融合了众多专家的经验,并以标准的形式给广大群众使用,她提供了一中通用的设计词汇,和一种通用的设计语言,以方便开发人员之间开发和交流,使得设计方案更加通俗易懂;

2、设计模式使人们可以方便简单的复用设计模式;

3、设计模式是设计方案易于修改;

4、设计模式的使用将提高软件开发效率与质量,节约成本;

5、设计模式有助于初学者理解面向对象的思想。

9学过的每一种模式的适用场景和优缺点

职责链模式

优点:

1.将请求的发送者和接收者解耦

可以简化你的对象,因为它不需要知道链的结构 2.

相关文档
最新文档