<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7999057167844082120</id><updated>2012-02-16T17:10:52.636+09:00</updated><category term='DisignPatterns'/><category term='SingltonPattern'/><title type='text'>Mizix.com</title><subtitle type='html'>안녕하세요 Mizix 입니다.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mizix.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7999057167844082120/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mizix.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ando</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7999057167844082120.post-6022109245491247915</id><published>2009-09-14T13:14:00.000+09:00</published><updated>2011-01-30T17:14:43.848+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DisignPatterns'/><category scheme='http://www.blogger.com/atom/ns#' term='SingltonPattern'/><title type='text'>Singlton Pattern</title><content type='html'>&lt;DIV id=post-view class="post-view pcol2"&gt;&lt;P align=center&gt;&lt;FONT color=#99cc66 size=3&gt;&lt;STRONG&gt;" 최대 N개로 객체 생성을 제한하는 문제 "&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#99cc66 size=2&gt;&lt;STRONG&gt;1. Singlton Pattern&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - &lt;STRONG&gt;&lt;U&gt;객체가 생성되는 개수를 제한하는 형태의 설계&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - &lt;STRONG&gt;&lt;U&gt;유의사항&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;: 모든 생성자는 protected 영역에 정의되어야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 복제 생성자도 protected 영역에 정의해야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 생성되는 객체가 어떤 하위 클래스의 객체인지와는 무관하게 동일한 자료형으로 관리가 이루어져야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 클래스 상속 구조 상에 있는 어떤 클래스의 객체든지 저장, 관리할 수 있어야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : CreateInstance() 멤버 함수가 되돌리는 자료형이 포인터여야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 되돌려받은 포인터 변수가 가리키는 내용물을 임의로 삭제해서는 안된다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - &lt;STRONG&gt;&lt;U&gt;유용한 경우&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;: 어떤 클래스의 객체가 최대 N개 이하로만 존재해야 할 때&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; : 상속 관계에 놓인 클래스들에 대해 전체적으로 생성되는 객체의 최대 개수를 제한하고자 할 때&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - &lt;STRONG&gt;&lt;U&gt;장점&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;: 처음부터 객체를 생성하기 위해 모든 정보를 알 필요가 없다.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;: 전역 변수 객체들간의 생성 순서로 인한 문제들이 발생하지 않는다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - &lt;STRONG&gt;&lt;U&gt;단점&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; : 생성하는 객체의 개수를 2개 이상으로 제한하고 싶을 때에는 사용 불가능&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; : 클래스 차원으로 정의된 멤버 함수는 virtual로 선언될 수 없기 때문에 하위 클래스에서 override시킬 수 없다.&lt;DIV class=autosourcing-stub&gt;&lt;P style="PADDING-BOTTOM: 0pt; FONT-STYLE: normal; MARGIN: 11px 0pt 7px; PADDING-LEFT: 0pt; PADDING-RIGHT: 0pt; FONT-FAMILY: Dotum; FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 0pt"&gt;&lt;STRONG style="PADDING-BOTTOM: 0pt; PADDING-LEFT: 0pt; PADDING-RIGHT: 7px; PADDING-TOP: 0pt"&gt;[출처]&lt;/STRONG&gt; &lt;A href="http://blog.naver.com/phoogu/110014104613" target=_blank&gt;【 Disign Patterns 】 Singlton Pattern_#&lt;/A&gt;&lt;SPAN style="PADDING-BOTTOM: 0pt; PADDING-LEFT: 5px; PADDING-RIGHT: 7px; PADDING-TOP: 0pt"&gt;|&lt;/SPAN&gt;&lt;STRONG style="PADDING-BOTTOM: 0pt; PADDING-LEFT: 0pt; PADDING-RIGHT: 7px; PADDING-TOP: 0pt"&gt;작성자&lt;/STRONG&gt; &lt;A href="http://blog.naver.com/phoogu" target=_blank&gt;성숙꼬맹&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7999057167844082120-6022109245491247915?l=mizix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mizix.blogspot.com/feeds/6022109245491247915/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://mizix.blogspot.com/2009/09/singlton-pattern.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7999057167844082120/posts/default/6022109245491247915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7999057167844082120/posts/default/6022109245491247915'/><link rel='alternate' type='text/html' href='http://mizix.blogspot.com/2009/09/singlton-pattern.html' title='Singlton Pattern'/><author><name>Ando</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
