java面试题之八:软件工程与设计模式

八. 软件工程与设计模式

1、UML 方面

标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),

实现图。

2、j2ee 常用的设计模式?说明工厂模式。

总共23 种,分为三大类:创建型,结构型,行为型

我只记得其中常用的6、7 种,分别是:

创建型(工厂、工厂方法、抽象工厂、单例)

结构型(包装、适配器,组合,代理)

行为(观察者,模版,策略)

然后再针对你熟悉的模式谈谈你的理解即可。

Java 中的23 种设计模式:

Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),

Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),

Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),

Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),

Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),

Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),

Observer(观察者模式), State(状态模式), Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据

生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,

但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不

同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子

类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一

个子类的实例。

3、开发中都用到了那些设计模式?用在什么场合?

每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。

通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到

了MVC 的设计模式。用来开发JSP/Servlet 或者J2EE 的相关应用。简单工厂模式等。

posted on 2012-11-25 22:28  YangJin  阅读(382)  评论(0编辑  收藏  举报