面试的时候常常会有人问道:请问你经常用的有哪几种模式?分别解释!
------解决方案--------------------------------------------------------
单例,观察者,代理,委托,组合,适配器,在网上找找资料,讲的很清楚的
------解决方案--------------------------------------------------------
设计模式这本书,共介绍了23中都是表示类与类之间的构架关系,也就是表示对象的逻辑关系!
比较常用的有简单工厂,抽象工厂,单例模式,装饰模式,适配器模式等等,其实进行一些高手在开发过程中总结出来的实战经验,总结出来的优化的对象关系!
如果你经验足够,你也可以总结出来模式!
------解决方案--------------------------------------------------------
每种模式对应的都找一个实例多琢磨下就会想得清楚一点的。。。
比如工厂模式 一个比较典型的例子:生产各种类型的汽车的实例
我可以先创建一个生产各种类型汽车的工厂的类 用Class.forName()产生一个工厂实例,这个实例是可以生产出用户输入的参数类型的汽车的工厂,然后用这个工厂实例调用产生汽车的方法生产某种类型的具体汽车。。。这样可以生产任何种类的工厂然后产生各种具体汽车。。。当然类似的如果只需要产生一个实例的话就是采用单例模式。。。
再比如适配器模式 一般可用关于表格的处理来理解
对于所有的表格 都有一些固定的属性 行数 列数 每一列有列名 每一行对应于每一列都有值
于是 我们可以用一个通用类来使我们实现对于每个表格 我们都能调用相应的方法来获得表格的固定属性 这些方法可以有 获得行数 获得列数 获得列名 以及打印每一行的值等 这样的一个通用类就是我们的所谓适配器 能将形形色色的表格变成一种统一的模式。。。
另外还有 监听者模式 复合模式等等。。。
总之 这些都必须自己动手去实现 才会比较理解
个人一点见解。。。说得不好的话还请见谅。。。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
看你要做什么,如果要创建对象就用factroy,如果一个只产生一个实例就用singleton,一个类创建不同的对象就用prototype, 如果用到代理类就用proxy,如果在设计方法时涉及粗接口设计就用facade
其实设计模式慢慢用你就能体会到它的好处了,不用刻意的去学它,要用到什么再去学!
------解决方案--------------------------------------------------------
java的设计模式一共有23种.
常用的有工厂方法,抽象工厂.单例,代理,跌代等..
------解决方案--------------------------------------------------------
工厂,代理,单例,观察者,命令等..