<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Варианты реализации паттерна Singleton в языке ActionScript 3</title>
	<atom:link href="http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/feed" rel="self" type="application/rss+xml" />
	<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html</link>
	<description>Журнал о Flash, Flex, AIR, Grails и разработке Rich Internet Applications в условиях, приближенных к реальным</description>
	<lastBuildDate>Wed, 14 Apr 2010 09:20:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Что лучше: Singleton или использование статических членов класса? — Garbage Collector</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-1186</link>
		<dc:creator>Что лучше: Singleton или использование статических членов класса? — Garbage Collector</dc:creator>
		<pubDate>Sun, 09 Nov 2008 21:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-1186</guid>
		<description>[...] &#171;Варианты реализации паттерна Singleton в языке ActionScript 3.... [...]</description>
		<content:encoded><![CDATA[<p>[...] &laquo;Варианты реализации паттерна Singleton в языке ActionScript 3&#8230;. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dimpiax</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-640</link>
		<dc:creator>dimpiax</dc:creator>
		<pubDate>Sun, 10 Aug 2008 15:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-640</guid>
		<description>Я предпочитаю такую реализацию единственного экземпляра класса.

[as]
...
private static var __called : Boolean;
private static var __instance : Class;

public static function get instance() : Class {
    Class.__called = true;
    if(Class.__instance == null) Class.__instance = new Class();
    return Class.__instance;
}

public function Class() {
    if(__instance) throw Error(&#039;This class uses Singelton pattern.&#039;);
    else if(!__called) throw Error(&#039;You must access to class by Class.instance&#039;);
}[/as]</description>
		<content:encoded><![CDATA[<p>Я предпочитаю такую реализацию единственного экземпляра класса.</p>
<div class="igBar"><span id="lactionscript-1"><a href="#" onclick="javascript:showPlainTxt('actionscript-1'); return false;"><span id='text_content'>ТЕКСТ&nbsp;С</span>&nbsp;<span id='text_p'>П</span><span id='text_o'>О</span><span id='text_d'>Д</span><span id='text_c'>С</span><span id='text_v'>В</span><span id='text_e'>Е</span><span id='text_t'>Т</span><span id='text_k'>К</span><span id='text_o2'>О</span><span id='text_y'>Й</span></a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-1">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> __called : <span style="color: #0066CC;">Boolean</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> __instance : <span style="color: #000000; font-weight: bold;">Class</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> instance<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #000000; font-weight: bold;">Class</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">Class</span>.__called = <span style="color: #000000; font-weight: bold;">true</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">Class</span>.__instance == <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">Class</span>.__instance = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000000; font-weight: bold;">Class</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">Class</span>.__instance;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #000000; font-weight: bold;">Class</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>__instance<span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">throw</span> <span style="color: #0066CC;">Error</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'This class uses Singelton pattern.'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>!__called<span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">throw</span> <span style="color: #0066CC;">Error</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'You must access to class by Class.instance'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iv</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-371</link>
		<dc:creator>iv</dc:creator>
		<pubDate>Tue, 22 Jan 2008 10:49:26 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-371</guid>
		<description>Вот только что нарвался:
- в этом варианте синглтона, если он является визуальным объектом залинкованным в либе, то не показывается его содержимое.
В той же ситуации вариант:
[as]public static var _instance : Singleton;
public static function get instance ():Singleton {
	if (!_instance) {
		_instance = new Singleton();
	}
	return _instance;
}[/as]
работает без проблем.</description>
		<content:encoded><![CDATA[<p>Вот только что нарвался:<br />
- в этом варианте синглтона, если он является визуальным объектом залинкованным в либе, то не показывается его содержимое.<br />
В той же ситуации вариант:</p>
<div class="igBar"><span id="lactionscript-2"><a href="#" onclick="javascript:showPlainTxt('actionscript-2'); return false;"><span id='text_content'>ТЕКСТ&nbsp;С</span>&nbsp;<span id='text_p'>П</span><span id='text_o'>О</span><span id='text_d'>Д</span><span id='text_c'>С</span><span id='text_v'>В</span><span id='text_e'>Е</span><span id='text_t'>Т</span><span id='text_k'>К</span><span id='text_o2'>О</span><span id='text_y'>Й</span></a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-2">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> _instance : Singleton;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> instance <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:Singleton <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!_instance<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; _instance = <span style="color: #000000; font-weight: bold;">new</span> Singleton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">return</span> _instance;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
работает без проблем.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Юрий Яровой</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-370</link>
		<dc:creator>Юрий Яровой</dc:creator>
		<pubDate>Tue, 22 Jan 2008 10:38:07 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-370</guid>
		<description>&lt;blockquote&gt;Я предпочитаю оставаться в рамках соглашения об именовании. Необязательность применения соглашения приводит к ухудшению читабельности кода.&lt;/blockquote&gt;
Тоже верно, не спорю. Но нижний регистр в моем случае &#8212; это просто дань традиции. Привычка. =)</description>
		<content:encoded><![CDATA[<blockquote><p>Я предпочитаю оставаться в рамках соглашения об именовании. Необязательность применения соглашения приводит к ухудшению читабельности кода.</p></blockquote>
<p>Тоже верно, не спорю. Но нижний регистр в моем случае &mdash; это просто дань традиции. Привычка. =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Рост</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-369</link>
		<dc:creator>Рост</dc:creator>
		<pubDate>Tue, 22 Jan 2008 10:23:20 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-369</guid>
		<description>Ив, снова удивляюсь твоей способности находить неожиданные решения. Теперь попробую пожить и с синглтоном-константой.

Юр — какая продуктивная тема оказалась-то.</description>
		<content:encoded><![CDATA[<p>Ив, снова удивляюсь твоей способности находить неожиданные решения. Теперь попробую пожить и с синглтоном-константой.</p>
<p>Юр — какая продуктивная тема оказалась-то.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iv</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-368</link>
		<dc:creator>iv</dc:creator>
		<pubDate>Tue, 22 Jan 2008 09:20:47 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-368</guid>
		<description>Я предпочитаю оставаться в рамках соглашения об именовании. Необязательность применения соглашения приводит к ухудшению читабельности кода.</description>
		<content:encoded><![CDATA[<p>Я предпочитаю оставаться в рамках соглашения об именовании. Необязательность применения соглашения приводит к ухудшению читабельности кода.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Юрий Яровой</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-367</link>
		<dc:creator>Юрий Яровой</dc:creator>
		<pubDate>Tue, 22 Jan 2008 00:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-367</guid>
		<description>Если честно, Ив, то в последнее время я тоже склоняюсь к использованию Одиночки, создаваемого при помощи статической константы. Уж очень его в таком виде быстро и просто создавать. И ошибку при создании практически невозможно допустить. Единственное, я пишу &lt;code&gt;instance&lt;/code&gt; в нижнем регистре.</description>
		<content:encoded><![CDATA[<p>Если честно, Ив, то в последнее время я тоже склоняюсь к использованию Одиночки, создаваемого при помощи статической константы. Уж очень его в таком виде быстро и просто создавать. И ошибку при создании практически невозможно допустить. Единственное, я пишу <code>instance</code> в нижнем регистре.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iv</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-365</link>
		<dc:creator>iv</dc:creator>
		<pubDate>Mon, 21 Jan 2008 11:48:31 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-365</guid>
		<description>в итоге я всё больше склоняюсь к вот такому варианту:
[as]public static const INSTANCE : Singleton = new Singleton();
public function Singleton () {
    if (INSTANCE) throw new Error(&quot;**Error** - singleton. Сonstructor is locked.&quot;);
}[/as]

плюсы: 
1. &lt;b&gt;Ленивая инициализация&lt;/b&gt; 
Опасения на счет массовой инициализации констант INSTANCE на старте приложения не оправданы. Класс будет проинициализирован при первом обращении к нему. И не помню случая, чтобы что-то требовалось в синглтоне без обращения к экземпляру, если такое произойдет, то проблема скорее в неверной архитектуре, а не в константе. И, даже если такое произойдет, то ничего страшного. Такой случай - редкость и беспокоиться о том, что экземпляр синглтона создался на пару кадров раньше - абсурд.

2. &lt;b&gt;Быстрота&lt;/b&gt; 
Все проверки кроме одной выполняются на этапе компиляции. Вы не сможете случайно присвоить другое значение константе, или нарваться на ситуацию, когда константа пуста.
А проверка в конструкторе класса будет произведена лишь &lt;i&gt;единожды&lt;/i&gt;. Любая попытка сделать это не единожды приведет к тому, что придется переписать код. 
Доступ через метод getInstance() с его постоянной проверкой if(instance==null) в этом смысле проигрывает по всем статьям. Мелочь, но всё-же.

3. &lt;b&gt;Отсутствие лишнего и простота рефакторинга&lt;/b&gt;
Этот способ не использует SingletonEnforcer (хотя сама идея мне очень нравится) и причина тому выше - только один раз нужно сделать проверку на создание экземпляра и не стоит ради этого городить огород.
Код для обслуживания синглтона очень короткий, поэтому, при необходимости, рефакторить практически нечего.

Недостатки:
Несоответствие стандарту шаблона Singleton. Частично компенсируется п.3 достоинств.</description>
		<content:encoded><![CDATA[<p>в итоге я всё больше склоняюсь к вот такому варианту:</p>
<div class="igBar"><span id="lactionscript-3"><a href="#" onclick="javascript:showPlainTxt('actionscript-3'); return false;"><span id='text_content'>ТЕКСТ&nbsp;С</span>&nbsp;<span id='text_p'>П</span><span id='text_o'>О</span><span id='text_d'>Д</span><span id='text_c'>С</span><span id='text_v'>В</span><span id='text_e'>Е</span><span id='text_t'>Т</span><span id='text_k'>К</span><span id='text_o2'>О</span><span id='text_y'>Й</span></a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-3">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const INSTANCE : Singleton = <span style="color: #000000; font-weight: bold;">new</span> Singleton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Singleton <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>INSTANCE<span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Error</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"**Error** - singleton. Сonstructor is locked."</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>плюсы:<br />
1. <b>Ленивая инициализация</b><br />
Опасения на счет массовой инициализации констант INSTANCE на старте приложения не оправданы. Класс будет проинициализирован при первом обращении к нему. И не помню случая, чтобы что-то требовалось в синглтоне без обращения к экземпляру, если такое произойдет, то проблема скорее в неверной архитектуре, а не в константе. И, даже если такое произойдет, то ничего страшного. Такой случай - редкость и беспокоиться о том, что экземпляр синглтона создался на пару кадров раньше - абсурд.</p>
<p>2. <b>Быстрота</b><br />
Все проверки кроме одной выполняются на этапе компиляции. Вы не сможете случайно присвоить другое значение константе, или нарваться на ситуацию, когда константа пуста.<br />
А проверка в конструкторе класса будет произведена лишь <i>единожды</i>. Любая попытка сделать это не единожды приведет к тому, что придется переписать код.<br />
Доступ через метод getInstance() с его постоянной проверкой if(instance==null) в этом смысле проигрывает по всем статьям. Мелочь, но всё-же.</p>
<p>3. <b>Отсутствие лишнего и простота рефакторинга</b><br />
Этот способ не использует SingletonEnforcer (хотя сама идея мне очень нравится) и причина тому выше - только один раз нужно сделать проверку на создание экземпляра и не стоит ради этого городить огород.<br />
Код для обслуживания синглтона очень короткий, поэтому, при необходимости, рефакторить практически нечего.</p>
<p>Недостатки:<br />
Несоответствие стандарту шаблона Singleton. Частично компенсируется п.3 достоинств.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Юрий Яровой</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-212</link>
		<dc:creator>Юрий Яровой</dc:creator>
		<pubDate>Mon, 05 Nov 2007 10:33:28 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-212</guid>
		<description>&lt;b&gt;2 Dan:&lt;/b&gt;
&lt;blockquote&gt;Правда, немного странно смотриться @author, учитывая что код был опубликован в коментах к предыдущей статье совсем другим человеком.&lt;/blockquote&gt;
Это не притязания на авторство, а простая автогенерация кода классов в FlashDevelop. По идее, конечно же, нужно было бы удалить тэги &lt;code&gt;@author&lt;/code&gt; и &lt;code&gt;@version&lt;/code&gt; из листингов, но я попросту забыл это сделать. =)
&lt;b&gt;2 black:&lt;/b&gt;
&lt;blockquote&gt;Я так понимаю, что все эти варианты кода служат для маскировки очевидного бага фишки в реализации actionscript3 - отсутствия возможности создать private constructor.&lt;/blockquote&gt;
и
&lt;blockquote&gt;Меня же больше напугала фраза &#171;Но, увы, этой возможности мы не имеем &#8212; свойство arguments.caller было устранено в AS3.&#187;&lt;/blockquote&gt;
Да, меня тоже не сильно обрадовали эти нововведения в языке.
&lt;b&gt;2 iv:&lt;/b&gt;
&lt;blockquote&gt;Вариант с использованием internal класса - просто гениален.
респект тому, кто эту фишку нашел.&lt;/blockquote&gt;
Он оригинален, но добавляет в конструктор дополнительный параметр, который нужен только для того, чтобы выполнить проверку на допустимость создания экземпляра. Мне кажется, что нужно избавляться от таких непонятных параметров в коде.
&lt;b&gt;2 __i:&lt;/b&gt;
&lt;blockquote&gt;А тут уже точно слон, народ че вы курите?&lt;/blockquote&gt;
Почему слон? Тут хоть наконец-то полностью разобрались в этом вопросе. =)</description>
		<content:encoded><![CDATA[<p><b>2 Dan:</b></p>
<blockquote><p>Правда, немного странно смотриться @author, учитывая что код был опубликован в коментах к предыдущей статье совсем другим человеком.</p></blockquote>
<p>Это не притязания на авторство, а простая автогенерация кода классов в FlashDevelop. По идее, конечно же, нужно было бы удалить тэги <code>@author</code> и <code>@version</code> из листингов, но я попросту забыл это сделать. =)<br />
<b>2 black:</b></p>
<blockquote><p>Я так понимаю, что все эти варианты кода служат для маскировки очевидного бага фишки в реализации actionscript3 - отсутствия возможности создать private constructor.</p></blockquote>
<p>и</p>
<blockquote><p>Меня же больше напугала фраза &laquo;Но, увы, этой возможности мы не имеем &mdash; свойство arguments.caller было устранено в AS3.&raquo;</p></blockquote>
<p>Да, меня тоже не сильно обрадовали эти нововведения в языке.<br />
<b>2 iv:</b></p>
<blockquote><p>Вариант с использованием internal класса - просто гениален.<br />
респект тому, кто эту фишку нашел.</p></blockquote>
<p>Он оригинален, но добавляет в конструктор дополнительный параметр, который нужен только для того, чтобы выполнить проверку на допустимость создания экземпляра. Мне кажется, что нужно избавляться от таких непонятных параметров в коде.<br />
<b>2 __i:</b></p>
<blockquote><p>А тут уже точно слон, народ че вы курите?</p></blockquote>
<p>Почему слон? Тут хоть наконец-то полностью разобрались в этом вопросе. =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: __i</title>
		<link>http://garbage-collector.ru/2007/10/singleton_in_actionscript_3.html/comment-page-1#comment-208</link>
		<dc:creator>__i</dc:creator>
		<pubDate>Thu, 01 Nov 2007 15:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://garbage-collector.ru/2007/10/25/singleton_in_actionscript_3/#comment-208</guid>
		<description>А тут уже точно слон, народ че вы курите?</description>
		<content:encoded><![CDATA[<p>А тут уже точно слон, народ че вы курите?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
