java面试学习笔记之设计模式

    刚刚辞掉工作。玩了好几天的dota、也没觉得玩游戏不好,就是感觉生活有点太单调了。总觉得少了什么。

现在要开始新的旅程,找到份好工作后开始学吉他、日语、交际舞、旱冰、摄影、锻炼好肌肉。这些都要钱和时间。

加油了。

这几天面试有遇到过问Java设计模式的。看来是比较重要、所以要用些时间来学习下。

 

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

     答:我对设计模式理解是:设计模式是常见问题的解决方案的核心描述。有了他就无需重复相同的工作。

     主要用到的MVC设计模式用来开发jsp/servlet或者j2ee的相关应用。简单的工厂模式等。

 

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

  答: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(责任链模式)

要是面试的时候能将这23三中设计模式说出七八就牛了。肯定一下子就给面试官很好的影响。

好现在先解决掉工厂模式。

说到工厂模式肯定要说到他的优点。他的优点是降低耦合

工厂类 可以根据提供的可以数据生成一组类中的某一个类的实例,通常这一组类有一个公共的抽象父类并且子类实现了父类的方法,每个子类方法的实现可以不同。

工厂类根据条件生成不同的子类实例。得到子类实例,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

 

simple factory一般有3个部分组成: 
一个接口,很多对这个接口的具体的实现,然后将此接口和实现封装到一个工厂类中. 

3个部分:一个接口, 很多个实现, 一个工厂 

在具体应用的时候往往通过 : 接口 = new 实例 


后来: 接口 = 工厂.get某个实例 
通过传到工厂里面的参数的不同,出来的实例也不同,这就是通过工厂的方法创建实例.

 dao 的设计模式:

 dao 的作用就是将对数据库操作的代码从jsp页面分离出来而后封装起来。

 dao 的作用就是将对数据库操作的代码从jsp页面分离出来而后封装起来,
 dao 中用到工厂的设计模式,将业务和层现的代码尽可能的分离开,降低偶合度.将dao 以及dao的实现都封装到一个工厂当 中. 
 起初是在jsp页面去指明dao的具体实现,这样页面的代码中夹杂着业务,如果这个实现要换的化,用到的页面都要换,封装到工厂后,页面掉用某个名字,要改的话到工厂中去改,页面当中的都不用动了。

 

一位比较牛的哥们的博客。有空看看

http://blog.csdn.net/zuoluoboy/archive/2009/08/11/4433292.aspx

 

你可能感兴趣的:(java面试学习笔记之设计模式)