Nodir Nasirov:
私は、Productクラスを持っている、とビルダークラスは、そのうちの一つは、他のビルダーは、他のソースからデータを取得し、その製品を構築することができ、データベースからデータを取得し、その製品のサブクラスを作成することができます。これまでのところ、私はインターフェイスを持っています:
public interface ProductDao {
Product buildProduct(RetrieveBy by, String s);
}
オプションを構築して列挙型:
public enum RetrieveBy {
NAME, TYPE, BRAND
}
私は今、インターフェイスを実装しようとしていると、データベースからデータを取得し、製品を構築します名前のクラスへの最善の方法、および他のソースからデータを取得し、その製品を構築することができ、他のクラス(JSON、XMLS、またはプロパティファイルは何ですかません)誰かがただ一つのクラスを作成し、それに名前を付けるために私を提案ProductBuilder
IMOこれは、単一の責任校長に違反し、しかし。
GhostCat敬礼モニカC.:
事は次のとおりです。そこには、ハードのルールはただの規則は、ここではない、そして最も重要:あなたの会社/チーム/プロジェクトに存在する「先例」という。
言い換えれば、他のみんながあなたの周りに何をやります。
私の個人的なスタイル:
- 私はインターフェイスを呼ぶだろう
ProductBuiler
... DAO手段「データアクセスオブジェクト」、およびそのインタフェースは(直接)それとは何の関係もありません - 私は、そのクラスに名前を付けます
ProductBuilderImpl
例えば。それとも、「ソース」ごとに実装を持っている場合は、単にJsonProductBuilder
または多分ProductBuilderForJson
。
言ったとしてではなく、本当の答えは次のとおりです。ディクテーション名という普遍的な法則はありません。あなたは、あなたとあなたのチームのために良い「と感じている」ものを使用する必要があります。