#38 hexagonal: membership 도메인 설계
This commit is contained in:
@@ -0,0 +1,96 @@
|
|||||||
|
package org.example.membership.domain;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Value;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
|
public class Membership {
|
||||||
|
|
||||||
|
private final String membershipId;
|
||||||
|
private final String name;
|
||||||
|
private final String email;
|
||||||
|
private final String address;
|
||||||
|
private final boolean isValid;
|
||||||
|
private final boolean isCorp;
|
||||||
|
|
||||||
|
public static Membership generateMember(
|
||||||
|
MembershipId membershipId,
|
||||||
|
MembershipName membershipName,
|
||||||
|
MembershipEmail membershipEmail,
|
||||||
|
MembershipAddress membershipAddress,
|
||||||
|
MembershipIsValid membershipIsValid,
|
||||||
|
MembershipIsCorp membershipIsCorp
|
||||||
|
) {
|
||||||
|
return new Membership(
|
||||||
|
membershipId.membershipId,
|
||||||
|
membershipName.membershipName,
|
||||||
|
membershipEmail.membershipEmail,
|
||||||
|
membershipAddress.membershipAddress,
|
||||||
|
membershipIsValid.membershipIsValid,
|
||||||
|
membershipIsCorp.membershipIsCorp
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipId {
|
||||||
|
|
||||||
|
String membershipId;
|
||||||
|
|
||||||
|
public MembershipId(String value) {
|
||||||
|
this.membershipId = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipName {
|
||||||
|
|
||||||
|
String membershipName;
|
||||||
|
|
||||||
|
public MembershipName(String value) {
|
||||||
|
this.membershipName = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipEmail {
|
||||||
|
|
||||||
|
String membershipEmail;
|
||||||
|
|
||||||
|
public MembershipEmail(String value) {
|
||||||
|
this.membershipEmail = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipAddress {
|
||||||
|
|
||||||
|
String membershipAddress;
|
||||||
|
|
||||||
|
public MembershipAddress(String value) {
|
||||||
|
this.membershipAddress = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipIsValid {
|
||||||
|
|
||||||
|
boolean membershipIsValid;
|
||||||
|
|
||||||
|
public MembershipIsValid(boolean value) {
|
||||||
|
this.membershipIsValid = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value
|
||||||
|
public static class MembershipIsCorp {
|
||||||
|
|
||||||
|
boolean membershipIsCorp;
|
||||||
|
|
||||||
|
public MembershipIsCorp(boolean value) {
|
||||||
|
this.membershipIsCorp = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user