当前位置: 技术问答>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();
}
}
:-]
大概的节奏如下:
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
另外多用rose,
多上www.51cmm.com
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。