ユビキタス言語-正確さとユーザビリティの間の矛盾


10

ドメイン駆動設計の中核は、会話、コード、データベーススキーマ、UI、テストなど、システム全体でユビキタス言語を一貫して使用することです。

私は、国際標準化機構によって定義された、確立されたドメイン言語がすでに存在するプロジェクトに関与しています。

ただし、私たちが行っている作業はパブリックWebサイトのためのものであり、ドメインの「正しい」用語は、一般の人々が通常それらを使用して理解する方法とは限りません。

現時点で使用している妥協点は、UIコンポーネントを参照する承認基準を除き、どこでも「公式」の用語を使用することです。ここでは、非公式の名前を使用しています。

これは合理的なアプローチのように見えますか?


例を提供できますか?その時、私はより詳細な答えを与えることができました。それらの用語を制限する必要がありますか、それともまったく異なる意味を持つ衝突する用語がありますか?非公式の用語とドメイン言語の間の共通の根拠を見つけることはまったく可能でしょうか?
ファルコン

1
エバンスの本を読んだのは久しぶりですが、ユビキタス言語はドメインエキスパートで使用するべきだと思いましたか。私はユーザーがドメインエキスパートのすべての用語を理解することを期待しないので、非公式の名前を吹き替えたものだけをユーザーに提示します。
カレブペダーソン

回答:


7

はい、それは理にかなっているようです。対象読者があなたの言語の用語を理解していないか、それらを誤解している場合、エンドユーザーの使いやすさが優先されます。

一般的なユーザーが理解していないプログラムやコンテンツはほとんど価値がありません。さらに言えば、彼らが氷山の簡略化されたヒントを提示したいだけなら、彼らはドメインの専門家ではない、またそうなることはないでしょう。

通常、開発中にドメインについて話すと、言語は正確であり、すべての人々がドメイン内にいるため、誰もが言語を理解します。ただし、ドメインの外部へのコンテンツの通信によってビジネス価値が生み出される場合は、これをできるだけ簡単に行います。誤解される可能性が最も低い表現や言語を使用し、UIで使用します。

コードの正確な言語を維持し、ドメインに関係する人々とのコミュニケーションを図ります。これらは、仕様を持ち、アプリケーションの主要なユーザーであり、ビジネスの論理的な詳細について話し合う人々です。ドメインについてほとんど手掛かりがなく、深く掘り下げる必要がないユーザーと、ビジネスの論理的な詳細のほとんどについて本当に話し合うというまれなケースでは、ドメインの言語にそれらの言語を組み込みます。共通で明確な言語を使用している(おそらくそうではない)。

しかし、フロントエンドの開発者があなたの非公式の用語とそれに対応するドメイン用語について知っていることを確認してください。


1

これに答える最も簡単な方法は、UIをまったく別の言語で表示している場合、描画する場所に正確に線を引くことだと思います。

エンドユーザーがサンスクリット語で物事を見る必要がある場合、UIとコード(およびその他の内部通信)の違いをどのように橋渡ししますか。


よく言った。これは「ハンプティ・ダンプティ問題」を指し示します。言葉は単なる代用ではなく、言葉やその用法とは無関係に人々が知っていることを指します。動物は、例えば「温度」の概念を理解しています。私たちは言葉が概念の単なる象徴であるとき、言葉に夢中になります。コンセプトは重要なものです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.