Status:Fendy和Glen Best的答案同样被我接受和尊重,但既然可以接受并给予赏金,我选择Fendy的答案.
Scenario:
如果我有一些代码有被多次重复使用在许多类(很少有轻微参数改变是显而易见的)和并发线程,哪种方法去?
必须重用的代码可以是任何理智的东西(适当考虑静态和非静态上下文和方法制作技术).它可以是一个算法,一个DB方法做连接,操作,关闭.任何东西.
创建一些类MyMethods.class,并将所有这些方法放入其中.
表1.A 制作方法 static并直接调用(由所有类和并发线程)MyMethods.someMethod();
1.B. 制作方法 non-static和当时打电话给他们,instantiate全班通过MyMethods mm = MyMethods(); mm.someMethod();
使用https://en.wikipedia.org/wiki/Strategy_pattern中声明的策略模式(此处附带的代码).
使用https://en.wikipedia.org/wiki/Dependency_injection#Java中所述的依赖注入
Problems:
有些人会说使用这种方法进行单元测试 http://en.wikipedia.org/wiki/Unit_testing 是不可能的,在换出后者时会遇到麻烦.如果你想测试你的类,并使用一个模拟版本中的依赖
表1.A 并发调用或多个类会有任何问题吗?特别JDBC static methods是只是一个例子?
1.B. 我认为它会产生太多的内存负载,因为整个类instanticated只需调用一两个方法就可以多次
那是我的头脑,解释那个和/或任何优点/缺点 …
java unit-testing design-patterns dependency-injection class