=
ホーム
On Your Mark
ホーム
/
設計(Java)
/
【Java】 Effective Java 第二版 お勉強 不変クラス
2013年10月22日火曜日
Java
基本
設計(Java)
t
f
B!
P
L
# クラスとインターフェイス ## 今日 読んだところ P 73~79 ## 項目 可変性を最小限にする<br /> ## 不変クラス 一度生成したら、そのインスタンスを変更できないクラス。<br /> Javaプラットフォームライブラリで言うと、<br /> BigIntegerやBigDecimalなんかが当てはまる。<br /> ## 不変クラスの5か条 1. ミューテータを実装しない<br /> 2. クラスを拡張させいない。(クラスをfinalにする)<br /> 3. メソッドを拡張させない。(メソッドをfinalにする)<br /> 4. 外部からフィールドにアクセスさせない(すべてのフィールドをprivateにする)<br /> 5. 可変オブジェクトを参照していたら、他のオブジェクトに参照を取得させない。<br /> ## 不変クラスの特徴 本質的にスレッドセーフなので、同期を考えなくて良い。<br /> 複数のスレッドから平行してアクセスされても状態が不正になることは無い。<br /> したがって、制限なく共有することが可能。<br /> ## 不変クラスの生成 普通に引数付きのコンストラクタで生成してもOK。<br /> BigIntegerクラスなどがそれに当てはまる。<br /> <br /> ただし、staticファクトリメソッドとの相性もよい。<br /> ## まとめ できる限り不変クラスを利用する。<br /> ただし、設計上 不変クラスのみで作れるシステムのほうが少ないと思うので、<br /> 可変クラスを生成しても良いが、その可変性はできる限り制限したほうが良い。<br />
Translate
このブログを検索
ブログアーカイブ
►
2020
(38)
6月 2020
(6)
5月 2020
(10)
4月 2020
(10)
3月 2020
(4)
2月 2020
(5)
1月 2020
(3)
►
2019
(4)
1月 2019
(4)
►
2018
(23)
12月 2018
(3)
4月 2018
(11)
3月 2018
(9)
►
2014
(20)
7月 2014
(3)
1月 2014
(17)
▼
2013
(166)
12月 2013
(15)
11月 2013
(22)
10月 2013
(31)
9月 2013
(26)
8月 2013
(32)
7月 2013
(40)
今週の人気の記事
【git】 WindowsでGitを使う (msysgit + TortoiseGit)
【まとめ】GWはおうちでぬりえ 鉄道会社公式の電車ぬりえをまとめた
【まとめ】おうちでペーパークラフト 鉄道会社公式のペーパークラフトをまとめた
【考察】シンカリオン E5はやぶさの性能をまとめてみる
【予想】DXS シンカリオン ハローキティ登場!運転士は誰?
フォロワー
On Your Mark
QooQ
0 件のコメント:
コメントを投稿