首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

黑马软件工程师 设计模式思维发散

2013-12-28 
黑马程序员 设计模式思维发散?既然要发散思维,那么我就先提几个问题:1、面向对象编程中面向接口编程和多态

黑马程序员 设计模式思维发散

?

既然要发散思维,那么我就先提几个问题:

1、面向对象编程中<面向接口编程和多态>是不是代理模式的体现?

?????举个例子:Animal a = new Dog();

???? Animal类型的a是不是具体实现new Dog()的代理?通过a访问的是不是具体的new Dog()的实现?

2、Runnable、Thread是不是策略模式的体现?

???? 举个例子:new Thread{new Runnable{

???????????????????????????????????????????? public void run(){……}

????????????????????????????????????????????????????????????????? }()}().start();

???? 通过不同的Runnable实现类(不同的策略),实现不同的功能。

3、Javascript中的事件模型是不是观察者模式的体现?

???? 举个例子:$("#button").onClick = ……

???? 不同:面向函数编程中注册的是事件函数,面向对象编程中注册的是监听器(对象)

4、Java集合中迭代器的实现是不是就是Javascript语言中的闭包呢?

?????举个例子:Iterator it = arr.iterator();

?????通过生成的迭代器对象能够变量集合中的元素。

5、模板方法的应用场景是不是:

???? 1、定义一个接口

???? 2、声明一个抽象类实现接口中的公共部分

???? 3、不同情况下的具体实现通过继承抽象类并重写abstract方法实现。

6、命令模式中的命令对象是不是就像MVC三层架构中的C(控制器)?

???? 民以食为天嘛,拿餐馆举个例子:

???? 1、来餐馆吃饭的客人就像是浏览器

?????2、餐馆里的服务员就像是Commander,持有客人的菜单,命令厨师按照菜单做菜

???? 3、厨师做好菜以后服务员给客人上菜

???? 服务员解耦了客人和厨师之间的关系

7、jetty服务器中的handle是不是就是职责链模式的体现?

???? 所有的handler的职责都是相同的:处理输入,可以返回也可以向下传递。

???? 是不是和组合模式很像?

???? 职责连对外显示出一个入口request和一个出口response,内部是一个黑箱;

???? 组合模式对外显示出一个Composite对象,至于这个对象是由哪些对象组成的,我们完全不了解,也不用了解。

热点排行