多看open source的项目,看别人是怎么设计的,
另外多用rose,
多上www.51cmm.com

解决方案 »

  1.   

    这个看经验,怎么顺心怎么写。
    大概的节奏如下:
    1。按照大概的功能分模块,也就是在这个基础上划分包。不要东扯西扯凑在一块。
    2。常用的常量放在interface里面,这个里面也可以定义方法体(但是不能实现它——通常的程序很少用到,这个属于高级特性的功能才会用到,当然你要用也无可厚非)。
    3。把完整的一个功能放做为一个类,如果需要扩展,抽出一个抽象类出来(也可以不定义为抽象的,当做基类好了)。把关键的方法做为抽象方法(基类的抽象方法可以被自身引用,实际上是父类对子类方法的调用,可以算是一个高级特性)。通常父类可以implements多个interface,省得子类再去implements它。
    4。对于多个类常用到的方法,可以抽出来做为一个辅助类来实现。相当于一个工具类。对于工具类。我常这么来实现它,省得多次构造:public final Class SomeUtil{
     private static final _instance = null;
     private SomeUtil(){
       //这个方法定义为私有的,避免被外部实例化
     }
     public SomeUtil instance(){
       if(_instance == null)_instance = new SomeUtil();
       return _instance;
     }
     
     public void someMethod(){
         //some method body 
     }
     
     // 写一个main可以测试它,当然最好用junit测试
     public static void mian(String[]args){
       SomeUtil util = SomeUtil.instance();
       util.someMethod();
     }
     
    }:-]
      

  2.   

    sorry,上面的程序有个错误:
    private static final _instance = null;
    应该是 :private static SomeUitl _instance = null;
     
    中文的语法错误是难免的,但第二条的interface可以定义方法体是严重的错误。应该是可以定义方法,我不得不矫正。忘谅解。
      

  3.   

    我有一个疑问想向大家请教,如果结构化后经常被用到的接口总是在被implement,而一些类也总是在被extends,这样下去在实际调用的时候,原始定义的接口或基类可能已经有好几层了.如果是我自己写的接口或基类可能我会记得,而如果是别人写的且项目庞大可能就会造成很多麻烦.这种情况只能用大量的文档进行说明吗?我不是很喜欢在别人没有注释的文档里找线头!谢谢各位我晚上结贴!
      

  4.   

    模式很少会有人刻意去追求它。实际问题可能很少有套模式能成功解决的,高手除外。有一本《UML对象设计与编程》美:刘卫东   ,我觉得值得推荐。