ドメインモデルの起動
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=291420687
崔凡均の「ドメイン名開発開始(2022)」という本を読み、私の理解を記録した.
△参考にしてください.しかし、100%信頼しないでください.間違いがあれば、私たちと共有してください.
🌸
彼の名前を呼ぶ前に
彼はただ
ただの姿です.
私が彼の名前を呼んだとき
彼は私のそばに来た.
花になりました.
私が彼の名前を呼んだように.
私に似合う色と香り
誰かが私の名前を呼んだ.
彼のところへ行って、私も
彼の花になりたい.
僕らはみんな
何になりたい.
あなたは私に対してあなたに対して
忘れられない目になりたい.
金春秀.花の茂み
ドメインドメインとは?
ドメインモデル
ドメインモデルのエクスポート
どんなに優秀な開発者でも,ドメインを知らずに符号化を開始することはできない.
public class OrderLine {
private Product product;
private int price;
private int quantity;
private int amounts;
...
}
エンティティ
バリュー・タイプ
public class Money {
private int value;
public Money(int value) {
this.value = value;
}
public int getValue() {
return this.value;
}
}
//Money를 사용하도록 OrderLine을 변경한 코드
//Money 타입 덕에 price나 amounts가 금액을 의미한다는 것을 쉽게 알 수 있다. => 코드 가독성 향상
//**Money는 더 이상 단순 숫자가 아닌 도메인의 '돈'을 의미하는 것**
public class OrderLine {
private Product product;
private Money price;
private int quantity;
private Money amounts;
...
}
public class Money {
private int value;
...생성자, getValue()
public Money add(Money money) {
return new Money(this.value + money.value);
}
public Money multiply(int multiplier) {
return new Money(value * multiplier);
}
}
エンティティ識別子と価値タイプ
public class Order {
// OrderNo 타입 자체로 id가 주문번호임을 알 수 있다.
private OrderNo id;
...
public OrderNo getId() {
return id;
}
}
setメソッドをドメインモデルに入れない
私の考え
ドメインとは以前は、ドメイン名であれば、URLを思い出していました.無知ですが、ドメインマスターも開発していると言えば、これがウェブサイトを作成する方法だと思います(🦮無知
この章を読む過程で、ドメインに対する理解が狭いことに気づきました.それでも、今ドメイン名について質問されたら、正確に答える自信はありません.(本を読んでいるうちに、自分の答えを探す)
ドメインはまだありませんが、ドメイン主導開発の目標は何なのか知っていると思います.一部紹介した金春秀(キム・チュンス)詩人の「花」を導入したのだろう.
私が何かに関心を持つ前に、それは私にとって何でもないが、もし私が名前をつけたら、それは私に意味のある存在になるようだ.
ドメイン主導開発が追求するのは、1つ(または複数)の「意味」の行為である.これはその意味を共有し拡張するプロセスです.
Reference
この問題について(ドメインモデルの起動), 我々は、より多くの情報をここで見つけました https://velog.io/@jincrates/01.-도메인-모델-시작하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol