- PR -

ユーティリティクラスをSingletonにしたときのデメリット

投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-07-06 21:36
>aaさん

確かに、ライフサイクル管理を型に依存してしまうとテストがしにくいです。
staticメソッドよりは、抽象化したシングルトンの方が
単体テストが行いやすい気もしますが、
通常クラスにて実装して、DIコンテナ等でライフサイクルを管理するのが一番楽ですね。

例えばDBコネクションを複数持つシングルトンクラスのインスタンスが、
複数作られると不具合が起こる可能性があります。
しかし、通常オブジェクトを使用してコネクションをDIコンテナから注入すれば
特にインスタンスが複数作られようと関係ないわけです。

通常オブジェクトならテストは簡単ですし、
最近は無理にシングルトンにする必要があるかなと思いますね。

・・・なんか話題が逸れ過ぎてますね。すいません。
でも議論は楽しい。
マーサ
ベテラン
会議室デビュー日: 2004/11/26
投稿数: 87
投稿日時: 2005-07-06 22:01
あぁ、そう言えば・・・。

前にシングルトンが好きな(勉強中だったらしぃ)人?がいて、
インターフェースを使用して解決した事を思い出したw
# 済みません、回答になってません
ぽん
大ベテラン
会議室デビュー日: 2003/05/13
投稿数: 157
投稿日時: 2005-07-07 00:35
引用:

aaさんの書き込み (2005-07-06 20:59) より:

クラスの内部にテスト用のコードを書くのはちょっと違和感がありますね。


上記の様な事は一切やっていませんが・・・
(誤解を与えたかもしれないので、少しソースを修正しました)

スキルアップ/キャリアアップ(JOB@IT)