2017-02-11 8 views
1

パラメータをグループ化する代わりにDTOを使用する必要がありますか?レイヤードJavaアプリケーションで複数のパラメータを渡す方法がありますか?

たとえば、2つのlareysアプリケーションとインフラストラクチャがあります。アプリケーション層インフラストラクチャ層の上に

Person { 
    String firstName; 
    String lastName; 
    String email; 
    String phone; 
} 

上の以下のクラスの人は、私は、引数ホルダーを作成したいのですが方法public void notify(String email, String firstName)

を持っているがあります:

class NotificationDTO { 
    String firstName; 
    String email; 
} 

および変更方法:notify(NotificationDTO notification) それが正しいか?

+0

コードはありますか? – Jadeye

+0

もっと具体的にしてコードを入力してください。ビルダーのパターンを見てみることができます。 –

答えて

0

これらの異なるパラメータによって作成されたクラスのインスタンスを代わりに渡すことを検討してください。モデルクラスをどのように作成するかは、あなた次第です。このデザインは常に拡張可能です。

たとえば、今のところ渡している場合は、username、password、name、email、dobなどのフィールドがあります。これらすべてのフィールドをデータメンバーとして持つクラスUserCredentialsを作成する必要があります。

そして、UserCredentialクラスのインスタンスを渡します。パスするパラムがたくさんあり、どのような関係もない場合は、デザインについて再考する必要があります。

関連する問題