teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントだとコードが見辛いのでサンプルソースコードの追記

2018/03/02 06:14

投稿

szk.
szk.

スコア1400

answer CHANGED
@@ -6,4 +6,42 @@
6
6
  おそらくいろんなシステムで同じチェックをしているはずです。
7
7
 
8
8
  また大きすぎるプロジェクトよりは、
9
- 細かくサブシステム化するほうが、全ての工程においてメリットが大きいです。
9
+ 細かくサブシステム化するほうが、全ての工程においてメリットが大きいです。
10
+
11
+ ### 追記
12
+ ```java
13
+ interface Validation {
14
+ BusinessException check();
15
+ }
16
+ class ValidationA implements Validation {
17
+ BusinessException check() {
18
+ //hogehoge
19
+ }
20
+ }
21
+ class ValidationB implements Validation {
22
+ BusinessException check() {
23
+ //hogehoge
24
+ }
25
+ }
26
+ class ValidationFactory {
27
+ static Validation newIncetance(String classname) {
28
+ try {
29
+ Class<?> clazz = Class.forname(classname);
30
+ return (Validation) clazz.newIncetance();
31
+ } catch (Exception e) {
32
+ }
33
+ return new DefaultValidation();
34
+ }
35
+ }
36
+ class BusinessLogic {
37
+ void logicA() {
38
+ Validation validation = ValidationFactory.newIncetance("ValidationA");
39
+ validation.check();
40
+ }
41
+ void logicB() {
42
+ Validation validation = ValidationFactory.newIncetance("ValidationB");
43
+ validation.check();
44
+ }
45
+ }
46
+ ```
47
+ タイポがあるかもしれません。