テーマ、知りたいこと
ドメイン駆動設計(DDD)に出てくる、「ドメイン層にビジネスロジックを凝縮させる」という話について、皆さんはどう理解されていますか?
書籍や記事を読んで理解したつもりになっても、いざ自分のコードに向き合うと、これはバリデーション?それともビジネスロジック?と、境界線の引き方でいつも迷子になってしまいます。
皆さんの、「ビジネスロジックってこういうことか!」と腑に落ちた時の考え方や例えなどをぜひお伺いしたいです!
背景、状況
最近、AI駆動開発や仕様駆動開発を学んでいるのですが、こうした手法はDDDやアーキテクチャの考え方とすごく相性が良いなと感じています。
AIのアウトプットを「良い実装」に制御するためには、人間側が設計を正しく理解して、指示(プロンプトや定義)に落とし込む必要があるなと実感するようになりました。
ただ、肝心の自分自身が「何がビジネスロジックで、何がそうでないか」を明確に切り分けられていないため、AIへの指示も曖昧になり、結局出てきたコードがイメージと違う……ということが多々あります。
「AIにどう指示するか」というのはまた別途議論の余地があるかなと思いますが、まずは自分のために「ビジネスロジック」の本質について理解したいなと思っています。
周りのエンジニアに聞いたりすると「厳密な正解よりも、チームで『ここに置こう』という納得感があるかどうかが大事」のような意見もあったりしました。
色々な観点で、皆さんの感覚をお聞きできると嬉しいです!