2016-12-22 1 views
1

ドメインの名前が変更されたときの状況を処理するためのベストプラクティスまたはパターンは何ですか?ソフトウェアでドメインオブジェクトの名前の変更を処理する方法は?

たとえば、私は自動車販売用のソフトウェアを開発しているとします。だから、私はCarドメインオブジェクト、CarService、CarDTO、FetchCarRequest、SaveCarRequestなどを持っています。また、私は彼らのキーが単語の車を含むローカライズされた文字列の束を持っていただろう。

ボス、顧客または製品の所有者が「車」が正しい単語ではないと判断し、それを「自動」または「車両」に変更するとします。もちろん、彼はソフトウェアの内部で何が起こっているか気にしない。彼が気にしている唯一のことは、ユーザーインターフェイス上ですべての車を自動車または車両に置き換えるということだけである。

今、私の質問は、この問題にどのようにアプローチするかです。

  1. 私はローカライズされた文字列を変更し、誰もが(ボス、QAを行い、アプリのレビューでは、ユーザーが...)について 車を語るたび が、彼らは私たちが「車」と呼ぶ事について考える/文書を忘れてはなりません私たちのソフトウェアで?

  2. リファクタリング単語「カー」は完全に異なる

  3. 何かを言及している我々のコードのすべてのfckng場所?

答えて

0

私はローカライズされた文字列を変更し、誰もが(ボス、QAを行い、アプリのレビューでは、ユーザーが...)について 車を語るたび が、彼らは私たちが車」と呼ぶ事について考える/文書を忘れてはなりません"私たちのソフトウェアでは?

はい。 UIの用語が変更された場合、間違いなくすべての文章を変更する必要があります。頻繁に行う必要がある場合は、索引を作成できます。しかし、それを頻繁に行う必要がある場合は、プロセスに何か問題があります。

リファクタリング単語「車が」これは別のものである

言及されている我々のコードのすべてのfckng場所。 DDDでは、アプリケーションのビジネスロジックを記述するのにEloquent languageを使用します。チームメイト、アナリスト、プロジェクトマネージャーなどと話すときには、この言語を使用します。コードで使用します。そして、突然何かが起こった場合、今からあなたは異なる言葉を使ってすべての人々に話しかけなければなりません...そして、なぜ...あなたのコードをリファクタリングしなければなりません。そうでなければ、いたるところで用語のミキシングがあり、混乱し、バグが発生するからです。

もう一度。このような状況があなたのプロセスであまりにも頻繁に発生する場合...誰かが真剣にそれを考える必要があります。

+0

コードで使用されている名詞は、ドメインで使用されている100%の名詞に続くはずです。しかし、あなたはそれがどのように機能するか、プレーヤーが顧客になるというビジネス上の決定、車が自動になる、または訪問がインタラクションになるというビジネス意思決定をしているか、誰かが決定したが、ビジネスが発展したり、これらの変更を追跡するのは時々苦痛に思えるので、私は他の経験やベストプラクティスについて聞きたかったのです。あなたの答えをありがとう。 – SadClown

関連する問題