まさかのトリです。びっくりしました
今回は、自分の復習も兼ねてSingletonパターンについて書いてみたいと思います。
Singletonパターンって何?
オブジェクト指向プログラミングでのデザインパターンの一つです。デザインパターンとは、プログラミングをするときによく直面する問題と、
その解決策をテンプレート化したものの集まりです。
要するにプログラミングの先輩たちが
「俺たちがよく見る問題をきれいに解決する方法
に名前を付けたから、参考にしてね!」
っていうやつです。
で、Singletonパターンは「インスタンスを一つしか生成したくない!」という問題を解決する
方法を記したパターンです。
方法を元に作ったプログラムはこちらになります。
class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } //この後に使いたいメソッドやフィールドを追加していく }
あらかじめinstanceに自分自身を生成しておき、 getInstance()が呼び出されたときに
それを返します。
コンストラクタとinstanceがprivateなので、 getInstance()を使わないとアクセスできないため、
インスタンスを一つしか生成できない形になっています。
Singletonパターンはどう役立つの?
インスタンスを2つ以上生成してもムダが増えるだけの場合や生成時の初期化に時間にかかる場合、
サーバ等のマルチスレッド環境で同じリソースを扱いたい場合
にSingletonパターンを使ってみるといいと思います
しかし、これは個人製作や小規模のプログラムでは必要ないことも多いです。
newを一回しかしないっていうことを守っておけばいいのですから。
なので、特に役立つ場面は
「インスタンスを一つしか生成したくない!」ということを
「このプログラムに携わる人に知ってもらいたい時」
だと思います。
使う時に気を付けることは?
一つだけ、僕が実際にやったミスを紹介します。サーバ構築時に上のプログラムを書き換えて
class Singleton{ private static Singleton instance = null; private Singleton(){//いろいろ結構多め} public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } //いろいろ }
と「このクラスを最初に使う場合だけ生成する」と書き換えました。
そうするとマルチスレッドのため、同時にgetInstance()を実行される場合があり、
結果的にインスタンスが2つ以上作られてしまったというのがありました。
そうなるとシングルトンの意味がないので、使う際には気を付けてください
まとめ
Singletonパターンについて書いていきました。 これにかぎらず、デザインパターンは知っていれば、いざ出くわしたときに「このクラスはこういうことをさせたいんです!」という作った人の意図をスムーズに理解する
ことができると思います。
以上で終わります
ありがとうございました。
Mohon ijin berpromosi. service Ac segala jenis merk. kami service Ac mencakup wilayah coverage seluruh Surabaya, Gresik, Sidoarjo. kami juga menerima jasa service perbaikan AC bongkar dan pasang AC. pekerjaan kami cepat, tepat, profesional, harga kompetitif di banding harga jasa luaran.
返信削除service ac split sidoarjo
tukang service ac sidoarjo
service ac surabaya sidoarjo
service ac surabaya selatan
service ac surabaya timur
service ac surabaya barat
service ac surabaya utara
service ac kota surabaya
SPLIT-TYPE AIR CONDITIONERS
MULTI-SPLIT AIR CONDITIONERS
CHILLED WATER FAN COIL UNITS
VRF AIR CONDITIONERS
CHILLERS
WINDOW-TYPE AIR CONDITIONERS
http://jualjasaacsurabaya.blogspot.com
Segera hubungi kami, dan kami akan datang kerumah Anda 24 Jam Non Stop.
(Hari Sabtu / Minggu / Hari Libur buka)
PIN BBM : 54BE0B4B / 5474CD93 / TELP : 085645475574
Thanks for sharing, nice post!
返信削除Đến với Bruno.vn - shop thoi trang dep o tphcm các bạn tha hồ lựa chọn cho mình những mẫu áo sơ mi nam trắng đẹp hay bạn thắc mắc mua quần short nam giá rẻ hay thắc mắc mua quần jean ở đâu đẹp tphcm thì đến với chúng tôi. Ngoài ra, tại đây có bán thương hiệu thời trang nổi tiếng thế giới với những mẫu áo thun nam đẹp 2015 tha hồ lựa chọn, hay với mẫu áo khoác nam đẹp uy tín, giá rẻ với các kiểu quần jean nam đẹp, đa dạng mẫu mã hay mẫu quần kaki nam đẹp thì đến với Bruno - shop quần jean nam tại tphcm hay địa chỉ shop quần áo nam hàng hiệu cực uy tín. Đến với Bruno.vn là địa chỉ shop áo sơ mi nam tphcm bạn có thể chọn áo thun với shop áo thun nam thời trang hàng hiệu hay shop áo khoác nam cực cá tính với nhiều mẫu áo khoác da nam đẹp hay hướng dẫn bạn phân biệt quần jean levi's thật giả cực hay hay bạn có thể chọn thoi trang h & m cho mình hay bạn có thể chọn quà tặng chồng nhân ngày sinh nhật tại Bruno, hay bạn muốn quà tặng bạn trai ngày sinh nhật thì đến với chúng tôi. Bạn băn khoăn mua áo sơ mi nam ở đâu tại tphcm thì đến Bruno.
Cách quyến rũ đàn ông đã có vợ
返信削除Sgn airport là gì
Đi đám cưới nên hát những bài gì
Những bài hát đám cưới hay nhất
Đi đám cưới có nên mặc quần jean
Mặc gì đi đám cưới ở quê
Lễ Vu Lan ngày bao nhiêu
Exporthub is an international b2b marketplace catering to thousands of globally active manufacturers & suppliers from all industries with its safest trade services. Media Mistakes
返信削除hy
返信削除thanks for sharing this blog
plz visit 123movies
hy
返信削除thanks for sharing this blog
plz visit Best Landscaping Comapany In India
QuickBooks is one of the most efficient financial management software that can help business owners to complete and maintain the records of daily accounting and financial transactions.
返信削除Transfer Quickbooks data to a new pc
If you found any minor or major issue in Quickbooks software, you can download QB Tool Hub which is the combination of all essential tools in a single application. Rather than download an individual tools, you can use this tool to save your time.
返信削除Download Quickbooks tool hub