当前位置:  技术问答>java相关

谁来解忧!!

    来源: 互联网  发布时间:2015-08-23

    本文导语:  我现在很是苦恼,主要是因为一般程序的功能模块我都基本能编写出来。可是如果我要做一个比较大的项目时就觉得有些无从下手(虽然能写出来,但是结构化,重用性和维护性会比较差),我总是不敢十分肯定该把...

我现在很是苦恼,主要是因为一般程序的功能模块我都基本能编写出来。可是如果我要做一个比较大的项目时就觉得有些无从下手(虽然能写出来,但是结构化,重用性和维护性会比较差),我总是不敢十分肯定该把那些类或者接口之类的对象放到各个包中,就算规划出几个包后,里面的对象在开发过程中总是要被修改,最后变的很无序。请教各位高手如何培养项目规划能力。最好能推荐几本好书。先谢了。

|
这个看经验,怎么顺心怎么写。
大概的节奏如下:
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();
 }
 
}

:-]

|
多看设计模式
我也在学习中~~~~~~~~~

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

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3