Skip to content

Instantly share code, notes, and snippets.

@naosim
Created September 16, 2024 21:33
Show Gist options
  • Save naosim/0c2bbc8514adaf9858c39bf3533b1296 to your computer and use it in GitHub Desktop.
Save naosim/0c2bbc8514adaf9858c39bf3533b1296 to your computer and use it in GitHub Desktop.
商品と注文モデル
classDiagram
namespace domain-runtime-DeliveredProduct {
class DeliveredProduct["DeliveredProduct
納入商品"] {
  
DeliveredProductId 納入商品ID
OfferSpec.OfferSpecId オファー仕様ID
User.UserId ユーザID
ServiceContract.ServiceContractId サービス契約ID
object 納入商品詳細情報
}
class DeliveredProductId["DeliveredProductId
納入商品ID"] {
  
string value
}
}
namespace domain-runtime-Order {
class OrderId["OrderId
注文ID"] {
  
string value
}
class Order["Order
注文
複数の注文商品を束ねる"] {
  
OrderId 注文ID
string 注文名
string チャネル
User.UserId ユーザID
}
}
namespace domain-runtime-OrderedProduct {
class OrderedProduct["OrderedProduct
注文商品"] {
  
OrderedProductId 注文商品ID
Order.OrderId 注文ID
OfferSpec.OfferSpecId オファー仕様ID
User.UserId ユーザID
ServiceContract.ServiceContractId サービス契約ID
OrderedProductType 商品注文区分
string 詳細商品注文区分
Date 申込開始日
Date 申込完了日
object 注文詳細情報
}
class OrderedProductId["OrderedProductId
注文商品ID"] {
  
string value
}
class OrderedProductType["OrderedProductType
商品注文区分"] {
<<Enumeration>>
add
remove
}
}
namespace domain-runtime-ServiceContract {
class ServiceContract["ServiceContract
サービス契約"] {
  
ServiceContractId サービス契約ID
User.UserId ユーザID
ServiceContractDates サービス契約日付
ServiceContractStateType 契約状態
}
class ServiceContractId["ServiceContractId
サービス契約ID"] {
  
string value
}
class ServiceContractStateType["ServiceContractStateType
商品注文区分"] {
<<Enumeration>>
申込中
キャンセル
契約中
契約終了
}
class ServiceContractDates["ServiceContractDates
サービス契約日付"] {
  
Date 申込日
Date キャンセル日
Date 契約開始日
Date 契約終了申込日
Date 契約終了日
}
}
namespace domain-runtime-User {
class UserId["UserId
ユーザID"] {
  
string value
}
}
namespace domain-spec-OfferSpec {
class OfferSpecId["OfferSpecId
オファー仕様ID"] {
  
string value
}
class OfferFeeType["OfferFeeType
課金区分"] {
<<Enumeration>>
買い切り
月額
}
class OfferSpec["OfferSpec
オファー仕様"] {
  
OfferSpecId オファー仕様ID
ProductSpec.ProductSpecId 商品仕様ID
number 価格
OfferFeeType 課金区分
}
}
namespace domain-spec-ProductSpec {
class ProductSpec["ProductSpec
商品仕様"] {
  
ProductSpecId 商品仕様ID
string 商品名
}
class ProductSpecId["ProductSpecId
商品仕様ID"] {
  
string value
}
}
DeliveredProduct --> OfferSpecId
DeliveredProduct --> UserId
DeliveredProduct --> ServiceContractId
Order --> UserId
OrderedProduct --> OrderId
OrderedProduct --> OfferSpecId
OrderedProduct --> UserId
OrderedProduct --> ServiceContractId
ServiceContract --> UserId
OfferSpec --> ProductSpecId
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment