静态方法 是可重用代码还是模块
2007-11-21 01:04
225 查看
比如,有个静态方法
public class StaticTest{
public static void Test(){}
}
这个是可重用代码还是模块呢?恐怕不好说。因为,可重用代码和模块非常相似。怎么区分这两个概念?还真是头疼。委托就是一种可重用的代码,而委托的方法,则是模块。事件,Handler是可重用方法,而event是模块,可以这样理解?
可重用代码也就是可以适用于不同上下文的代码,而模块呢是指功能分离成快的方法。可以看出最起码在编码中方法调用的次数,可重用的方法适用次数要大于等于模块方法。
public class Test{
public static void DoMethodA(){}
public static void DoMethodB(){DoMethodA();}
}
public class TestA{
public void DO(){Test.DoMethodB();};
}
public class TestB{
public void DO(){Test.DoMethodB();};
}
Test类有两个方法,DoMethodA 和DoMethodB,DoMethodB使用了DoMethodA。在上面的代码中虽然在运行时执行次数上来说DoMethodA和DoMethodB应该是次数相同的,但是,DoMethodB得引用次数要高于DoMethodA。可以认为在上面的代码DoMethodA是模块,而DoMethodB是可重用代码。假如把DoMethodA的修饰符修改为private,那么就更加可以说明问题了。
从上面代码可以看出一个什么问题呢?假如修改了DoMethodB方法会导致什么问题?很可能需要修改任何使用了DoMethodB方法的代码。可见DoMethodB难于修改,因为它的应用次数过多,很难保证某一个地方不出现逻辑错误。
而模块就要好很多啦,修改DoMethodA,只需要在DoMethodB方法中进行修正就可以了。
那么把可重用代码尽量拆分成多个模块是不是更加方便呢?我认为是的。我认为把可重用代码分解为多个模块可以让代码更加易于修改。
对于运行时多次使用的方法,应该定义为静态方法,但是可能在代码中只使用了一次,因此,静态方法完全可以是模块而不是可重用代码。
对于可重用代码,模块,和静态,不是一定要把可重用代码设计为静态的,是不是设计为静态应该由代码运行时,估计的执行次数来决定。而可重用代码是提炼相同逻辑而来。至于模块么,只是让代码更加易于理解和维护。
水平原因,思路可能不够清晰,希望和大家多多交流。
public class StaticTest{
public static void Test(){}
}
这个是可重用代码还是模块呢?恐怕不好说。因为,可重用代码和模块非常相似。怎么区分这两个概念?还真是头疼。委托就是一种可重用的代码,而委托的方法,则是模块。事件,Handler是可重用方法,而event是模块,可以这样理解?
可重用代码也就是可以适用于不同上下文的代码,而模块呢是指功能分离成快的方法。可以看出最起码在编码中方法调用的次数,可重用的方法适用次数要大于等于模块方法。
public class Test{
public static void DoMethodA(){}
public static void DoMethodB(){DoMethodA();}
}
public class TestA{
public void DO(){Test.DoMethodB();};
}
public class TestB{
public void DO(){Test.DoMethodB();};
}
Test类有两个方法,DoMethodA 和DoMethodB,DoMethodB使用了DoMethodA。在上面的代码中虽然在运行时执行次数上来说DoMethodA和DoMethodB应该是次数相同的,但是,DoMethodB得引用次数要高于DoMethodA。可以认为在上面的代码DoMethodA是模块,而DoMethodB是可重用代码。假如把DoMethodA的修饰符修改为private,那么就更加可以说明问题了。
从上面代码可以看出一个什么问题呢?假如修改了DoMethodB方法会导致什么问题?很可能需要修改任何使用了DoMethodB方法的代码。可见DoMethodB难于修改,因为它的应用次数过多,很难保证某一个地方不出现逻辑错误。
而模块就要好很多啦,修改DoMethodA,只需要在DoMethodB方法中进行修正就可以了。
那么把可重用代码尽量拆分成多个模块是不是更加方便呢?我认为是的。我认为把可重用代码分解为多个模块可以让代码更加易于修改。
对于运行时多次使用的方法,应该定义为静态方法,但是可能在代码中只使用了一次,因此,静态方法完全可以是模块而不是可重用代码。
对于可重用代码,模块,和静态,不是一定要把可重用代码设计为静态的,是不是设计为静态应该由代码运行时,估计的执行次数来决定。而可重用代码是提炼相同逻辑而来。至于模块么,只是让代码更加易于理解和维护。
水平原因,思路可能不够清晰,希望和大家多多交流。
相关文章推荐
- Python基础(六)——重用代码:函数、模块、方法
- java中普通代码块,构造代码和构造方法的静态代码块的优先级
- 借助javascript代码判断网页是静态还是伪静态
- 《多线程编程》学习之五:synchronized同步语句块,静态同步synchronized方法与synchronized(类名.class)代码块
- 关于java代码中静态代码块、非静态构造代码块以及构造方法的执行顺序
- 【代码学习】PYTHON中的静态方法和类方法
- 代码分析jQuery四种静态方法使用
- 一种躲避模块检测的方法。(断链隐藏模块Ldr)含代码。
- [随想]一种重用代码的方法
- 是同步方法还是 synchronized 代码?-- 详解多线程同步规则
- C#静态方法在多用户并发访问时,运行情况到底是什么样?是排队等待?还是并发的?
- Ruby Benchmark 模块提供了测量和报告Ruby代码运行使用时间的方法。
- 几种实现代码重用的方法
- js怎么判断代码是方法还是对象
- Java 静态模块和构造方法
- 007关于静态方法的代码分析问题
- java--构造方法,构造代码块,静态代码块区别及代码示例
- python学习十二(自己制作模块并安装到系统、静态方法)
- Delphi中静态方法重载还是覆盖的讨论
- java代码-------继承的方法----重写还是重载