<?xml version="1.0" encoding="utf-8"?><!-- generator="b2evolution/2.4.2" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Junik - Последние комментарии на Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
		<link>http://riapriority.com/blogs/junik.php?disp=comments</link>
		<description></description>
		<language>ru-RU</language>
		<docs>http://backend.userland.com/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=2.4.2"/>
		<ttl>60</ttl>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Fri, 15 Dec 2006 11:06:13 +0000</pubDate>
			<dc:creator>Иностранец со стулом [Посетитель]</dc:creator>
			<guid isPermaLink="false">c116@http://riapriority.com/blogs/</guid>
			<description>Извините, я не понимал сути интерфейса (http://flash-ripper.com/archives/000325.htm). Всё.</description>
			<content:encoded><![CDATA[Извините, я не понимал сути интерфейса (http://flash-ripper.com/archives/000325.htm). Всё.]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c116</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Thu, 14 Dec 2006 12:30:29 +0000</pubDate>
			<dc:creator>Иностранец со стулом [Посетитель]</dc:creator>
			<guid isPermaLink="false">c113@http://riapriority.com/blogs/</guid>
			<description>Дождался новой статьи. Спасибо!&lt;br /&gt;
&lt;br /&gt;
Такое чувство, что я почти понял... &lt;img src=&quot;http://riapriority.com/blogs/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;br /&gt;
Нет ли у Вас тестового fla, заценить оченно хочецца.</description>
			<content:encoded><![CDATA[Дождался новой статьи. Спасибо!<br />
<br />
Такое чувство, что я почти понял... <img src="http://riapriority.com/blogs/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /><br />
Нет ли у Вас тестового fla, заценить оченно хочецца.]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c113</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Wed, 13 Dec 2006 12:48:14 +0000</pubDate>
			<dc:creator>Fix [Посетитель]</dc:creator>
			<guid isPermaLink="false">c112@http://riapriority.com/blogs/</guid>
			<description>Ага! Вот ключевая связка слов: &quot;в главном таймлайне модуля&quot;. Тогда схема понятна &lt;img src=&quot;http://riapriority.com/blogs/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;</description>
			<content:encoded><![CDATA[Ага! Вот ключевая связка слов: "в главном таймлайне модуля". Тогда схема понятна <img src="http://riapriority.com/blogs/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" />]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c112</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Wed, 13 Dec 2006 09:15:25 +0000</pubDate>
			<dc:creator>Junik [Учаснег]</dc:creator>
			<guid isPermaLink="false">c111@http://riapriority.com/blogs/</guid>
			<description>Ответ для &lt;i&gt;&lt;b&gt;Fix&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Хитрость может заключаться, например, в следующем. В главном таймлайне определяем метод getPictureSelector, который будет возвращать ссылку на нужный объект. К сожалению, полностью определить сигнатуру этого метода нельзя, то есть, вызывая этот метод у мувиклипа, нельзя быть уверенным на этапе компиляции, что вернут нужный объект. Но это можно проверить и выдать ошибку уже на этапе выполнения. &lt;br /&gt;
&lt;br /&gt;
Вот пример.&lt;br /&gt;
&lt;br /&gt;
Пусть у нас есть класс ConcretePicturesSelector, который имплементит интерфейс IPicturesSelector. Тогда в главном таймлайне модуля пишем примерно следующее.&lt;br /&gt;
&lt;br /&gt;
var pictureSelector:IPicturesSelector = new ConcretePicturesSelector();&lt;br /&gt;
function getPictureSelector():IPicturesSelector {&lt;br /&gt;
	return pictureSelector;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Если ConcretePicturesSelector вдруг не будет имплементить IPicturesSelector, то получим ошибку компиляции. ConcretePicturesSelector не будет включен в компиляцию главного приложения, так как его объект будут воспринимать только как нечто с интерфейсом  IPicturesSelector.&lt;br /&gt;
&lt;br /&gt;
В самом приложении вызываем этот метод у загруженного мувиклипа. Так как мы не можем быть полностью уверенными в том, что вернет мувиклип, то на всякий случай проверяем, то ли он вернул.&lt;br /&gt;
&lt;br /&gt;
var picturesSelector:IPicturesSelector;&lt;br /&gt;
if (movie.getPictureSelector() instanceof IPicturesSelector) {&lt;br /&gt;
	picturesSelector = IPicturesSelector(movie.getPictureSelector());&lt;br /&gt;
} else {&lt;br /&gt;
	trace('movie.getPictureSelector() is not instanceof IPicturesSelector!');&lt;br /&gt;
}</description>
			<content:encoded><![CDATA[Ответ для <i><b>Fix</b></i><br />
<br />
Хитрость может заключаться, например, в следующем. В главном таймлайне определяем метод getPictureSelector, который будет возвращать ссылку на нужный объект. К сожалению, полностью определить сигнатуру этого метода нельзя, то есть, вызывая этот метод у мувиклипа, нельзя быть уверенным на этапе компиляции, что вернут нужный объект. Но это можно проверить и выдать ошибку уже на этапе выполнения. <br />
<br />
Вот пример.<br />
<br />
Пусть у нас есть класс ConcretePicturesSelector, который имплементит интерфейс IPicturesSelector. Тогда в главном таймлайне модуля пишем примерно следующее.<br />
<br />
var pictureSelector:IPicturesSelector = new ConcretePicturesSelector();<br />
function getPictureSelector():IPicturesSelector {<br />
	return pictureSelector;<br />
}<br />
<br />
Если ConcretePicturesSelector вдруг не будет имплементить IPicturesSelector, то получим ошибку компиляции. ConcretePicturesSelector не будет включен в компиляцию главного приложения, так как его объект будут воспринимать только как нечто с интерфейсом  IPicturesSelector.<br />
<br />
В самом приложении вызываем этот метод у загруженного мувиклипа. Так как мы не можем быть полностью уверенными в том, что вернет мувиклип, то на всякий случай проверяем, то ли он вернул.<br />
<br />
var picturesSelector:IPicturesSelector;<br />
if (movie.getPictureSelector() instanceof IPicturesSelector) {<br />
	picturesSelector = IPicturesSelector(movie.getPictureSelector());<br />
} else {<br />
	trace('movie.getPictureSelector() is not instanceof IPicturesSelector!');<br />
}]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c111</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Wed, 13 Dec 2006 08:45:00 +0000</pubDate>
			<dc:creator>Fix [Посетитель]</dc:creator>
			<guid isPermaLink="false">c110@http://riapriority.com/blogs/</guid>
			<description>Вы только не усмотрите в моих словах какой-то иронии. Мне на самом деле статья понравилась и помогла шире открыть глаза &lt;img src=&quot;http://riapriority.com/blogs/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt; Спасибо.</description>
			<content:encoded><![CDATA[Вы только не усмотрите в моих словах какой-то иронии. Мне на самом деле статья понравилась и помогла шире открыть глаза <img src="http://riapriority.com/blogs/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /> Спасибо.]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c110</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Tue, 12 Dec 2006 18:36:16 +0000</pubDate>
			<dc:creator>Konstantin Kovalev [Учаснег]</dc:creator>
			<guid isPermaLink="false">c109@http://riapriority.com/blogs/</guid>
			<description>Смысл в том, Фикс, что в некоторых случаях данный метод не исключает использование exclude-листов. И модуль, и главное приложение могут использовать одни и те же классы. В том же Юлином примере Picture - это класс, который используется и там, и там. В простых случаях (если идет получение экземпляра Picture, который, например, имеет поле url и gjkt вуыскшзешщт) можно эту мелочь игнорировать. Но если общая кодовая база все же велика, то exclude-листы все же пригодятся.&lt;br /&gt;
&lt;br /&gt;
Хм. А про Preview одно из двух. Либо баг в движке, либо в теме. Проверю на досуге.&lt;br /&gt;
&lt;br /&gt;
Ну а рассказать тебе про getPictureSelector оставлю Юле &lt;img src=&quot;http://riapriority.com/blogs/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;</description>
			<content:encoded><![CDATA[Смысл в том, Фикс, что в некоторых случаях данный метод не исключает использование exclude-листов. И модуль, и главное приложение могут использовать одни и те же классы. В том же Юлином примере Picture - это класс, который используется и там, и там. В простых случаях (если идет получение экземпляра Picture, который, например, имеет поле url и gjkt вуыскшзешщт) можно эту мелочь игнорировать. Но если общая кодовая база все же велика, то exclude-листы все же пригодятся.<br />
<br />
Хм. А про Preview одно из двух. Либо баг в движке, либо в теме. Проверю на досуге.<br />
<br />
Ну а рассказать тебе про getPictureSelector оставлю Юле <img src="http://riapriority.com/blogs/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" />]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c109</link>
		</item>
				<item>
			<title>В ответ на: Интерфейсы в actionscript 2.0. Часть 1. Внешние модули</title>
			<pubDate>Tue, 12 Dec 2006 15:33:25 +0000</pubDate>
			<dc:creator>Fix [Посетитель]</dc:creator>
			<guid isPermaLink="false">c108@http://riapriority.com/blogs/</guid>
			<description>Почти готов рвать на себе волосы. Вот как можно разделять классы по модулям, а не исключать их в итоге при комплияции главного приложения через exclude-лист. Но все же... Непонятен момент с хитростью:&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;&quot;определить в главном таймлайне метод getPictureSelector, который будет возвращать объект класса с ожидаемым интерфейсом&quot;&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
Метод должен вернуть объект, предварительно создав экземпляр класса, который вынесен в отдельный модуль. Но при упоминании имени этого класса, он будет также добавлен и в главное приложение. Как быть? Или я что-то не так понял?&lt;br /&gt;
&lt;br /&gt;
PS: Preview комментария не работает :/</description>
			<content:encoded><![CDATA[Почти готов рвать на себе волосы. Вот как можно разделять классы по модулям, а не исключать их в итоге при комплияции главного приложения через exclude-лист. Но все же... Непонятен момент с хитростью:<br />
<br />
<cite>"определить в главном таймлайне метод getPictureSelector, который будет возвращать объект класса с ожидаемым интерфейсом"</cite><br />
<br />
Метод должен вернуть объект, предварительно создав экземпляр класса, который вынесен в отдельный модуль. Но при упоминании имени этого класса, он будет также добавлен и в главное приложение. Как быть? Или я что-то не так понял?<br />
<br />
PS: Preview комментария не работает :/]]></content:encoded>
			<link>http://riapriority.com/blogs/junik.php/2006/12/12/interface_1#c108</link>
		</item>
			</channel>
</rss>
