忍者ブログ
よくわからないことを調べて解説してみるブログ。

2024

1205
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2017

0329
・テレスコーピングコンストラクタ
 コンストラクタに初期化パラメータをすべて引数にとる実装方式。
 必須のパラメータが可変である場合、可変パターンごとにコンストラクタに用意する必要がある。
 クラスが持つ初期化対象の変数がN個だとしたら、N!の数だけコンストラクタを必要とする可能性がある。

・JavaBeansパターン
 new オブジェクト後に、パラメータごとに用意したsetメソッドで初期化する。
 
 メリット
  パラメータが大量でも必要分だけの記述で対応可能。
 デメリット
  コードが分断される。
  setメソッドは実装上publicになるため、初期化時のみの利用というような制限ができない。

・ビルダーパターン
 クラスの内部にstaticなビルダークラスを用意する。
 Builderクラスは、必須パラメータを引き受けるコンストラクタを持ち、
 任意パラメータに対する初期化メソッドを持つ。
 この初期化メソッドは返却型にBuilderクラスを指定する。
 
 初期化例
 Car car = Car.Builder(100, 120).setMaxSpeed(110, "Km/h").setHoyeel(4).build();
    //雑ですみません。

   メリット
  テレスコーピングコンストラクタパターンと
  JavaBeansパターンのデメリットを解消する
 デメリット
  パラメータ数が少ないときにはあまり効果的ではない(しかし、パラメータの拡張性に富んでいるため間違いになることはないだろう)。


拍手[0回]

PR
Post your Comment
Name:
Title:
Font:
Mail:
URL:
Comment:
Pass: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
たんてーくん
性別:
非公開
フリーエリア
最新CM
[09/25 http://2017.bblbuy.com]
[09/24 http://www.japanform.com]
[09/23 http://www.japanform.com]
[09/22 http://www.japanform.com]
[09/21 http://2017.bblbuy.com]
ブログ内検索
忍者ブログ [PR]
* Template by TMP