对,希望在这一次的讨论中把, Design Patterns - Element of Re-Useable Object-Oriented Software中的模式搞清楚.慢慢的在以后的文章中把J2EE中的相关模式搞清楚.

解决方案 »

  1.   

    PFinggo go .... ... .. .
      

  2.   

      OOD = Black Box
      

  3.   

    今天刚好看到了Think in Java中简要介绍的State Pattern,再看这篇文章,很爽
      

  4.   

    给你掌声,非常热烈的掌声,希望你听到,更希望你关于设计模式方面的讲解跟详细、而且生动,同时给出非常好的中文、英文书籍或相关文档,我事后复习用,thanks 
      

  5.   

    设计模式一书里面的例子全是用c++写的,谁有兴趣用java把它们全都实现了!
      

  6.   

    让我们看看AbstractFactory对象创建型模式。该模式的用意在于,提供一个创建一系列相关或相互依赖对象的接口,而无需制定它们具体的类。源码如下:首先创建AbstractFactory.java接口文件。public interface AbstractFactory {    public AbstractProductA createProductA();
        public AbstractProductA createProductB();}再写一个接口类,AbstractProductA.javapublic interface AbstractProductA {    public void operationA();}然后实现AbstractProductA接口,如下两个.java文件。public class ConcreteProductA1 implements AbstractProductA {
        public void operationA() {
            System.out.println("I am a ProductA1");
        }
    }public class ConcreteProductA2 implements AbstractProductA {
        public void operationA() {
            System.out.println("I am a ProductA2");
        }
    }最后,我们来实现AbstractFactory接口:public class ConcreteFactory1 implements AbstractFactory {
        //关键的类;
        public AbstractProductA createProductA() {
            return new ConcreteProductA1();
        }    public AbstractProductA createProductB() {
            return new ConcreteProductA2();
        }    private ConcreteProductA1 lnkConcreteProductA1;
        private ConcreteProductA2 lnkConcreteProductA2;
    }通过这样一种方式,我们实现了AbstractFactory模式。最后协议个测试程序。Client.javapublic class Client {
        public static void main(String[] args) {
            //构建工厂;
            AbstractFactory lnkAbstractFactory = new ConcreteFactory1();
            //针对工厂生成对象;
            AbstractProductA xx = lnkAbstractFactory.createProductA();
            xx.operationA();
            xx = lnkAbstractFactory.createProductB();
            xx.operationA();
        }
    }从而实现了我们的目标。
      

  7.   

    让我们继续看facade结构型模式。其用意在于,为子系统中的一组接口提供一个一致的界面。熟悉J2EE中session facade、message facade设计模式的朋友看这个DP会很简单。好了,让我们看看代码:首先写两个子系统.java文件。SubSystemA.java如下。public class SubSystemA {    public void operationA() {
            System.out.println("SubSystemA.operationA() executing");
        }}SubSystemB.java如下:public class SubSystemB {    public void operationB() {
            System.out.println("SubSystemB.operationB() executing");
        }}实现子系统的外观,Facade.javapublic class Facade {    public void operation() {
            // 模式的关键之处!
            new SubSystemA().operationA();
            new SubSystemB().operationB();
        }    private SubSystemB lnkSubSystemB;    private SubSystemA lnkSubSystemA;
    }从而实现了facade模式。测试Client.java: public class Client {    public static void main(String[] args)
        {
            Facade lnkFacade = new Facade();
            lnkFacade.operation();
        }
    }补充: 考虑J2EE系统中Session(Message) Facade模式是如何实现的?与Facade模式有什么关系?
      

  8.   

    呵呵,模式例子好像都不怎么难看懂,可要把别人写的代码全搞懂可就比较麻烦了,我曾偿试分析jboss,tomcat,jive等源代码,都以失败告终(没毅力,唉)
    所以很想听听怎么从现有的源代码对设计模式进行分析,毕竟,那些东东都是大家承认,在设计上比较优秀的。这个可比光看看模式长啥样要来得有趣!个人意见,参考参考
      

  9.   

    这才一个,最好把剩下的22个都讲完再说j2ee里的设计模式的分析,
    不然大家很多都会看不懂的。
    谢谢,这里很多都是初学者。
      

  10.   

    to worldheart (时讯技术):
    你可一定要完成剩下的20个模式,我觉得你这么讲还挺好看懂的。
    我在jc里建了个工程,准备放上这23个模式。
    加油啊!
      

  11.   

    菜鸟一个,所以程序虽然看明白了,但对于各种模式区别于其他的优势还没有明白,只是用一句概括一下一个模式的作用,但可不可以详细讲一下它自身的优势,或者是实例中的用意。还是还没有讲到?这已经是进入J2EE设计模式了?
      

  12.   

    good!太好了!
    给你最热烈的掌声!1!2!3!………………………………(掌声不断!)现在的书商没有出几本好书,都是低级的copy。哦有那么几本,贵的很。偶是穷人,只好看!期待你的下一篇!再次以最热烈的掌声……………………………………………………