Skip to content

Commit 1fb112e

Browse files
committed
UsecaseをServiceAngleに吸収合併
1 parent b1a4d94 commit 1fb112e

3 files changed

Lines changed: 30 additions & 50 deletions

File tree

jig-core/src/main/java/org/dddjava/jig/domain/model/documents/diagrams/ServiceMethodCallHierarchyDiagram.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.dddjava.jig.domain.model.information.members.JigMethod;
99
import org.dddjava.jig.domain.model.knowledge.usecases.ServiceAngle;
1010
import org.dddjava.jig.domain.model.knowledge.usecases.ServiceAngles;
11-
import org.dddjava.jig.domain.model.knowledge.usecases.Usecase;
1211

1312
import java.util.HashSet;
1413
import java.util.List;
@@ -29,9 +28,7 @@ public ServiceMethodCallHierarchyDiagram(ServiceAngles serviceAngles) {
2928
this.serviceAngles = serviceAngles;
3029
}
3130

32-
private static Node usecaseNode(ServiceAngle serviceAngle) {
33-
Usecase usecase = serviceAngle.toUsecase();
34-
31+
private static Node usecaseNode(ServiceAngle usecase) {
3532
return new Node(usecase.usecaseIdentifier())
3633
.shape("ellipse")
3734
.label(usecase.usecaseLabel())

jig-core/src/main/java/org/dddjava/jig/domain/model/knowledge/usecases/ServiceAngle.java

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.dddjava.jig.domain.model.data.members.instruction.MethodCall;
55
import org.dddjava.jig.domain.model.data.members.instruction.SimpleInstruction;
66
import org.dddjava.jig.domain.model.data.members.methods.JigMethodId;
7+
import org.dddjava.jig.domain.model.data.types.TypeId;
78
import org.dddjava.jig.domain.model.information.applications.ServiceMethod;
89
import org.dddjava.jig.domain.model.information.applications.ServiceMethods;
910
import org.dddjava.jig.domain.model.information.inputs.Entrypoint;
@@ -16,9 +17,17 @@
1617
import java.util.Collection;
1718

1819
/**
19-
* サービスの切り口
20+
* ユースケース
21+
*
22+
* サービスクラスのメソッドとして実装される。
23+
* すべてのサービスクラスのメソッドがユースケースではないが、今のところ区別はできていない。
24+
*
25+
* すくなくとも、アダプタの接続されるポート(Controllerなどのエントリーポイントから直接呼び出されるメソッド)はユースケースであり、
26+
* このメソッドはUsecaseCategoryでは「ハンドラ」と識別する。
27+
* ハンドラはユースケースだが、ハンドラでないものもユースケースの可能性がある。実装上の区別はつけづらいので、
28+
* Javadocコメントの記述有無などで判断する?
2029
*/
21-
// TODO UsecaseとServiceAngleを統合する
30+
// TODO Usecaseにrenameする
2231
public record ServiceAngle(ServiceMethod serviceMethod, Gateways usingGateways,
2332
Collection<MethodCall> usingServiceMethods, Collection<JigMethodId> userServiceMethods,
2433
UsecaseCategory usecaseCategory) {
@@ -70,7 +79,23 @@ public JigMethodId jigMethodId() {
7079
return serviceMethod().method().jigMethodId();
7180
}
7281

73-
public Usecase toUsecase() {
74-
return Usecase.from(this);
82+
public String usecaseIdentifier() {
83+
return serviceMethod.method().fqn();
84+
}
85+
86+
public String usecaseLabel() {
87+
return serviceMethod.method().aliasText();
88+
}
89+
90+
public String simpleTextWithDeclaringType() {
91+
return serviceMethod.method().simpleText();
92+
}
93+
94+
public boolean isHandler() {
95+
return usecaseCategory.handler();
96+
}
97+
98+
public TypeId declaringType() {
99+
return serviceMethod.declaringType();
75100
}
76101
}

jig-core/src/main/java/org/dddjava/jig/domain/model/knowledge/usecases/Usecase.java

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)