<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog of Denis Borisenko</title>
	<atom:link href="http://blog.dborisenko.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dborisenko.com</link>
	<description>All that interests me</description>
	<lastBuildDate>Wed, 04 Aug 2010 18:05:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>О MVCS фреймворках и Robotlegs</title>
		<link>http://blog.dborisenko.com/2010/08/04/o-mvcs-freymvorkah-i-robotlegs/</link>
		<comments>http://blog.dborisenko.com/2010/08/04/o-mvcs-freymvorkah-i-robotlegs/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 16:38:02 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Mate]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[Robotlegs]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=363</guid>
		<description><![CDATA[Лично я считаю лучшим фреймворком Robotlegs. Я в нем не нашел слабых мест и считаю его почти совершенным MVCS фреймворком. Там более совершенно устроены injections, чем в mate. Там все делается на уровне мета-программирования, что все очень комфортно. Кроме того, есть возможность использовать не Flash&#8217;овую событийную систему, а использовать Signal&#8217;ы. PureMVC мне не нравится своими [...]]]></description>
			<content:encoded><![CDATA[<p>Лично я считаю лучшим фреймворком <a href="http://www.robotlegs.org/">Robotlegs</a>. Я в нем не нашел слабых мест и считаю его почти совершенным MVCS фреймворком. Там более совершенно устроены injections, чем в mate. Там все делается на уровне мета-программирования, что все очень комфортно. Кроме того, есть возможность использовать не Flash&#8217;овую событийную систему, а использовать <a href="http://joelhooks.com/2010/02/14/robotlegs-as3-signals-and-the-signalcommandmap-example/">Signal&#8217;ы</a>.</p>
<p><a href="http://puremvc.org/">PureMVC</a> мне не нравится своими широковещательной статичной событийной системой. Там события обрабатывает не конкретный экземпляр, а все экземпляры класса. Подробнее на руфлеше я уже высказывал свои негодования. Или можно об этом почитать <a href="http://blog.dborisenko.com/2010/01/15/shirokoveschatelnyie-opovescheniya-v-puremvc/">тут</a>.</p>
<p>С <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm&#8217;ом</a> работал давно.. помню только мнение, что он убог.. а конкретики не помню.. Кажется там не была предусмотрена возможность приложения не с одним ядром (multicore)</p>
<p><a href="http://mate.asfusion.com/">Mate</a> мне вааще не понравился&#8230; там все зашито в (m)xml&#8230; вот один из примеров: в метод инвокере зашито имя метода как строка.. что затрудняет рефакторинг. <MethodInvoker method="methodToExecute"</p>
<p>Короче, после того как начнешь работать в Robotlegs — тебе покажется убогим любой другой фреймворк.. мое мнение...<br />
Там все сделано круто, через метатэги и метопрограммирование, возможно юзать сигналы.. короче, самый крутой фреймворк...</p>
<p><a href="http://groups.google.com/group/ruflex/browse_thread/thread/21ba3251c13f405?hl=ru">Смотреть дискуссию на ruFlex&#8217;е</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/08/04/o-mvcs-freymvorkah-i-robotlegs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Глупая экономия в протоколе FTP</title>
		<link>http://blog.dborisenko.com/2010/07/31/glupaya-ekonomiya-v-protokole-ftp/</link>
		<comments>http://blog.dborisenko.com/2010/07/31/glupaya-ekonomiya-v-protokole-ftp/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 10:47:44 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[RFC]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=358</guid>
		<description><![CDATA[Сейчас читаю спецификацию к протоколу FTP. В команде LIST по поводу даты написано: The date format is either: MMM DD hh:mm OR MMM DD YYYY OR MMM DD YYYY То есть, либо мы храним время создания, либо год!!!! При этом секунды теряются всегда&#8230; Это что за времена экономии были тогда, что лишние 2-4 символа было [...]]]></description>
			<content:encoded><![CDATA[<p>Сейчас читаю спецификацию к протоколу FTP. В <a href="http://files.stairways.com/other/ftp-list-specs-info.txt">команде LIST</a> по поводу даты написано:</p>
<blockquote><p>
The date format is either:</p>
<p>  MMM DD hh:mm<br />
OR<br />
  MMM DD  YYYY<br />
OR<br />
  MMM DD YYYY
</p></blockquote>
<p>То есть, либо мы храним время создания, либо год!!!! При этом секунды теряются всегда&#8230; Это что за времена экономии были тогда, что лишние 2-4 символа было лень хранить? Или бы делали проще — возвращали в виде timestamp&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/07/31/glupaya-ekonomiya-v-protokole-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Масштабирование картинки по минимальной стороне</title>
		<link>http://blog.dborisenko.com/2010/06/18/masshtabirovanie-kartinki-po-minimalnoy-storone/</link>
		<comments>http://blog.dborisenko.com/2010/06/18/masshtabirovanie-kartinki-po-minimalnoy-storone/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 07:52:07 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[scale]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=344</guid>
		<description><![CDATA[Если нужно масштабировать картинку относительно контейнера так, чтобы в контейнере не осталось незаполненных мест (то есть, мастабировалось по минимальной стороне), то можно использовать этот алгоритм: var scale:Number = Math.max&#40;container.height / image.height, container.width / image.width&#41; image.scaleX *= scale; image.scaleY *= scale;]]></description>
			<content:encoded><![CDATA[<p>Если нужно масштабировать картинку относительно контейнера так, чтобы в контейнере не осталось незаполненных мест (то есть, мастабировалось по минимальной стороне), то можно использовать этот алгоритм:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">scale</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #004993;">Math</span>.<span style="color: #004993;">max</span><span style="color: #000000;">&#40;</span>container.<span style="color: #004993;">height</span> <span style="color: #000000; font-weight: bold;">/</span> image.<span style="color: #004993;">height</span>,
	container.<span style="color: #004993;">width</span> <span style="color: #000000; font-weight: bold;">/</span> image.<span style="color: #004993;">width</span><span style="color: #000000;">&#41;</span>
image.<span style="color: #004993;">scaleX</span> <span style="color: #000000; font-weight: bold;">*</span>= <span style="color: #004993;">scale</span>;
image.<span style="color: #004993;">scaleY</span> <span style="color: #000000; font-weight: bold;">*</span>= <span style="color: #004993;">scale</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/06/18/masshtabirovanie-kartinki-po-minimalnoy-storone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Мое портфолио</title>
		<link>http://blog.dborisenko.com/2010/02/24/moe-portfolio/</link>
		<comments>http://blog.dborisenko.com/2010/02/24/moe-portfolio/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 14:44:41 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=317</guid>
		<description><![CDATA[Набросал свое портфолио на Google Sites. Не удалось вспомнить и отыскать скриншоты всех проектов, так как надо было сделать портфолио быстро. Пока добавил только 3 проекта&#8230; Позже, когда буду разгребать завалы на винте &#8211; добавлю остальные Итак, те 3 проекта, информацию о которых я добавил: The Bennett Thrasher Learning Architect UgMO chart TweetGlide]]></description>
			<content:encoded><![CDATA[<p>Набросал свое <a href="http://sites.google.com/site/dborisenko/">портфолио</a> на Google Sites. Не удалось вспомнить и отыскать скриншоты всех проектов, так как надо было сделать портфолио быстро. Пока добавил только 3 проекта&#8230; Позже, когда буду разгребать завалы на винте &#8211; добавлю остальные <img src='http://blog.dborisenko.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-317"></span></p>
<p>Итак, те 3 проекта, информацию о которых я добавил:</p>
<ul>
<li><a href="http://sites.google.com/site/dborisenko/portfolio/bt-learning-architect">The Bennett Thrasher Learning Architect</a></li>
<li><a href="http://sites.google.com/site/dborisenko/portfolio/ugmo-chart">UgMO chart</a></li>
<li><a href="http://sites.google.com/site/dborisenko/portfolio/tweetglide">TweetGlide</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/02/24/moe-portfolio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Полноценный HTML во Flash/Flex</title>
		<link>http://blog.dborisenko.com/2010/02/24/polnotsennyiy-html-vo-flashflex/</link>
		<comments>http://blog.dborisenko.com/2010/02/24/polnotsennyiy-html-vo-flashflex/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 14:33:32 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=314</guid>
		<description><![CDATA[Было интересно, какие есть компоненты для отображения полноценного (или почти полноценного) HTML во Flash/Flex. В частности, необходима загрузка внешних CSS файлов, кастомные стили и прочее (кстати, js &#8211; не нужен). И вот что мне удалось найти: IFrame &#8211; там iframe накладывается поверх флешки с помощью js. Где-то же наткнулся на статью что так делать не [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://groups.google.com/group/ruflash/browse_thread/thread/842e991a9bba8bca">Было</a> <a href="http://groups.google.com/group/ruflex/browse_thread/thread/842e991a9bba8bca">интересно</a>, какие есть компоненты для отображения полноценного (или почти полноценного) HTML во Flash/Flex. В частности, необходима загрузка внешних CSS файлов, кастомные стили и прочее (кстати, js &#8211; не нужен). И вот что мне удалось найти:</p>
<ul>
<li><a href="http://code.google.com/p/flex-iframe/">IFrame</a> &#8211; там iframe накладывается поверх флешки с помощью js. Где-то же наткнулся на статью что так делать не стоит ибо <a href="http://www.deitte.com/archives/2008/07/dont_use_iframe.htm">&lt;список причин&gt;</a>.</li>
<li><a href="http://code.google.com/p/htmlwrapper/">HTMLWrapper</a> &#8211; его сейчас и ковыряю&#8230; Похоже, подводных камней там много. Но это не браузер, который в плеере, который в браузере&#8230; Он сам все парсит,  сам все лоадит и сам все рисует&#8230;</li>
<li>Платный компонент <a href="http://drumbeatinsight.com/htmlcomponent">HTML Component for Adobe Flex</a> &#8211; но хотелось бы все таки что-нибудь опен-сорсно-бесплатное..</li>
</ul>
<p>Похоже, HTMLWrapper &#8211; это вариант, который подходит лучше всего.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/02/24/polnotsennyiy-html-vo-flashflex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Image в DataGrid</title>
		<link>http://blog.dborisenko.com/2010/02/08/image-v-datagrid/</link>
		<comments>http://blog.dborisenko.com/2010/02/08/image-v-datagrid/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 19:49:05 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[ruFlex]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=303</guid>
		<description><![CDATA[Вопрос на ruFlex: Есть пустой DataGrid после загрузки xml динамически создаются столбцы (с соответствующими названиями ) и распихиваются данные. Это все работает. Но в xml в одном из столбцов могут быть адрес картинки, нужно чтобы вместо адреса в столбец внедрить Image и в него грузить картинку по этому адресу. Понимаю, что как-то через itemRenderer делать [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://groups.google.com/group/ruflex/browse_thread/thread/382e10a96ddb0f9">Вопрос на ruFlex:</a></p>
<p>Есть пустой DataGrid после загрузки xml динамически создаются столбцы (с соответствующими названиями ) и распихиваются данные. Это все работает.<br />
Но в xml в одном из столбцов могут быть адрес картинки, нужно чтобы вместо адреса в столбец внедрить Image и в него грузить картинку по этому адресу. Понимаю, что как-то через itemRenderer делать надо, но пока не получилось.</p>
<p><span id="more-303"></span><br />
Ответ:</p>
<p><code>&lt;mx:DataGrid dataProvider="{dataProvider}"&gt;<br />
&lt;mx:columns&gt;<br />
&lt;mx:DataGridColumn&gt;<br />
&lt;mx:itemRenderer&gt;<br />
&lt;mx:Component&gt;<br />
&lt;mx:Image source="{data.imageURL}" /&gt;<br />
&lt;/mx:Component&gt;<br />
&lt;/mx:itemRenderer&gt;</code><code><br />
&lt;/mx:DataGridColumn&gt;<br />
</code><code>&lt;/mx:columns&gt;</code><code><br />
&lt;/mx:DataGrid&gt;</code></p>
<p>Если url заложен как child, то к нему можно через точку обращаться.<br />
<code>data.@imageURL</code> &#8211; это для атрибутов.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/02/08/image-v-datagrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Библиотека Twitter API на ActionScript 3.0</title>
		<link>http://blog.dborisenko.com/2010/02/06/biblioteka-twitter-api-na-actionscript-3-0/</link>
		<comments>http://blog.dborisenko.com/2010/02/06/biblioteka-twitter-api-na-actionscript-3-0/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 16:54:12 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[библиотека]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=298</guid>
		<description><![CDATA[Я написал библиотеку Twitter API на ActionScript 3.0 для Adobe Flash, Adobe Flex, Adobe AIR. Она использовалась и тестировалась на Adobe AIR. Аутентификация с сервером происходит по протоколу oAuth и реализована с использованием библиотеки oAuth на ActionScript 3.0. Библиотека Twitter API на ActionScript 3.0 доступна на Google Code.]]></description>
			<content:encoded><![CDATA[<p>Я написал библиотеку <a href="http://twitter.com/">Twitter</a> <a href="http://apiwiki.twitter.com/">API</a> на ActionScript 3.0 для Adobe Flash, Adobe Flex, Adobe AIR. Она использовалась и тестировалась на Adobe AIR. Аутентификация с сервером происходит по протоколу <a href="http://oauth.net/">oAuth</a> и реализована с использованием библиотеки <a href="http://code.google.com/p/oauth-as3/">oAuth на ActionScript 3.0</a>.</p>
<p><a href="http://code.google.com/p/twitter-actionscript-api/">Библиотека Twitter API на ActionScript 3.0</a> доступна на Google Code.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/02/06/biblioteka-twitter-api-na-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Поменять местами флексовые компоненты внутри контейнера во Flex</title>
		<link>http://blog.dborisenko.com/2010/01/15/pomenyat-mestami-fleksovyie-komponentyi-vnutri-konteynera-vo-flex/</link>
		<comments>http://blog.dborisenko.com/2010/01/15/pomenyat-mestami-fleksovyie-komponentyi-vnutri-konteynera-vo-flex/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:48:51 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=289</guid>
		<description><![CDATA[Пусть есть два флексовых компонента, которые добавлены внутрь флексовго контейнера (например, HBox). Нужно поменять их местами в Display List&#8217;е. С помощью swapChildren это сделать не получится, так как он выкидывает исключение. Получилось, когда я переписал используя getChildIndex и setChildIndex. Получилось что-то вроде такого: var index1:int = screen.getChildIndex(screen.component1); var index2:int = screen.getChildIndex(screen.component2); screen.setChildIndex(screen.component1, index2); screen.setChildIndex(screen.component2, index1); [...]]]></description>
			<content:encoded><![CDATA[<p>Пусть есть два флексовых компонента, которые добавлены внутрь флексовго контейнера (например, HBox). Нужно поменять их местами в Display List&#8217;е. С помощью <code>swapChildren</code> это сделать не получится, так как он выкидывает исключение.</p>
<p>Получилось, когда я переписал используя <code>getChildIndex</code> и <code>setChildIndex</code>. Получилось что-то вроде такого:<br />
<code><br />
var index1:int = screen.getChildIndex(screen.component1);<br />
var index2:int = screen.getChildIndex(screen.component2);<br />
screen.setChildIndex(screen.component1, index2);<br />
screen.setChildIndex(screen.component2, index1);<br />
</code></p>
<p>Опубликовано в <a href="http://groups.google.com/group/ruflex/browse_thread/thread/73fcc02782d9f96e">обсуждении</a> в группе <a href="http://groups.google.com/group/ruflex/">ruFlex</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/01/15/pomenyat-mestami-fleksovyie-komponentyi-vnutri-konteynera-vo-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Широковещательные оповещения в PureMVC</title>
		<link>http://blog.dborisenko.com/2010/01/15/shirokoveschatelnyie-opovescheniya-v-puremvc/</link>
		<comments>http://blog.dborisenko.com/2010/01/15/shirokoveschatelnyie-opovescheniya-v-puremvc/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 09:08:15 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/2010/01/15/shirokoveschatelnost-otritsatelnaya-cherta-puremvc/</guid>
		<description><![CDATA[Что лично мне в PureMVC не нравится &#8211; так это его широковещательность&#8230; К примеру, у меня есть один Proxy (P1) и 2 медиатора (M1 и M2). Оба медиатора могут посылать команду C1, которая вызывает метод из P1 (например, метод search). Этот метод search осуществляет поиск на сервере и посылает SEARCH_SUCCESS и SEARCH_FAILED в случаях удачи/неудачи&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Что лично мне в <a href="http://puremvc.org/" target="_blank">PureMVC</a> не нравится &#8211; так это его широковещательность&#8230;<br />
К примеру, у меня есть один <em>Proxy</em> (<em>P1</em>) и 2 медиатора (<em>M1</em> и<em> M2</em>).<br />
Оба медиатора могут посылать команду <em>C1</em>, которая вызывает метод из <em>P1</em> (например, метод <em>search</em>). Этот метод <em>search</em> осуществляет поиск на сервере и посылает <code>SEARCH_SUCCESS</code> и <code>SEARCH_FAILED</code> в случаях удачи/неудачи&#8230;<br />
А не нравится мне как раз то, что если обоим медиаторам <em>M1</em> и <em>M2</em> нужен результат поиска, то им придется слушать результаты друг друга.. и фактически, нам 2 раза приходит <code>SEARCH_SUCCESS</code> или два раза <code>SEARCH_FAILED</code> каждому&#8230; Причем, один из них нам надо отвергнуть (у каждого медиатора &#8211; свой). Кстати, тут возникает проблема идентификации &#8211; как можно определить что конкретному медиатору нужен конкретно этот <em>Notification</em> (ну, понятно, это делается либо по самой строке поиска, либо по какому-либо id)&#8230;</p>
<p>Короче, эта бродкастовость, немного напрягает&#8230;</p>
<p><span id="more-271"></span></p>
<p>Если сформулировать кратко &#8211; проблема в том, что во фреймворке PureMVC на notification подписывается не конкретный экземпляр класса медиатора, а весь класс целиком&#8230; со всеми его инстансами&#8230;<br />
Выхода из сложившейся ситуации два:<br />
1. Использовать механизм разыменования самих Notification&#8217;ов, описанный в <a href="http://groups.google.com/group/ruflash/browse_thread/thread/1a0ebb080bae0999">обсуждении</a> (к этому механизму у меня все равно какие-то внутренне-противоречивые чувства&#8230; Но он однозначно оптимальнее метода 2). Суть этого метода в том, что внутрь команды (или прокси) помимо параметров самой команды передавать еще и имя notification&#8217;а, который команда должна вызывать по завершению своего выполнения. Этот notification должен задаваться внутри медиатора и иметь вид <code>NAME + "/"+ ApplicationFacade.SEARCH_RESULT_GETTED</code>.<br />
2. Самому проверять валидность notification в каждом медиаторе&#8230;</p>
<p>Метод 1 однозначно оптимальнее метода 2. Однако, а нет ли в методе 1 противоречия самой идеологии MVC? Получается, что view должен сообщить controller&#8217;у какие notification&#8217;ы он хочет получать&#8230;<br />
Насколько я понимаю, view не должен диктовать как должна функционировать сама система. Он должен передавать в систему параметры и реагировать на изменения модели.. А какие notification&#8217;ы передаются внутри системы &#8211; не его ума дело.. не он должен их устанавливать, а система должна ему говорить, что ты должен отвечать на такие-то действия&#8230;</p>
<p>Такие выводы я сделал в результате <a href="http://groups.google.com/group/ruflash/browse_thread/thread/1a0ebb080bae0999" target="_blank">обсуждения</a> в группе <a href="http://groups.google.com/group/ruFlash">ruFlash</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2010/01/15/shirokoveschatelnyie-opovescheniya-v-puremvc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobe AIR не поддерживает тег img в htmlText</title>
		<link>http://blog.dborisenko.com/2009/10/23/adobe-air-ne-podderzhivaet-teg-img-v-htmltext/</link>
		<comments>http://blog.dborisenko.com/2009/10/23/adobe-air-ne-podderzhivaet-teg-img-v-htmltext/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 19:33:46 +0000</pubDate>
		<dc:creator>Denis Borisenko</dc:creator>
				<category><![CDATA[Adobe Flash/Flex/AIR]]></category>

		<guid isPermaLink="false">http://blog.dborisenko.com/?p=268</guid>
		<description><![CDATA[Долго искал причину, почему в компоненте mx.controls.Text не поддерживается тег &#60;img&#62; в свойстве htmlText. Уже и по исходникам Flex&#8217;а пробежался. Хоть убей, не мог понять почему оно убирает из этого свойства все теги &#60;img&#62;&#8230; До тех пор, пока не нашел в документации к IUITextField&#8216;у, который там активно используется: For AIR content in the application security [...]]]></description>
			<content:encoded><![CDATA[<p>Долго искал причину, почему в компоненте <code>mx.controls.Text</code> не поддерживается тег <code>&lt;img&gt;</code> в свойстве <code>htmlText</code>. Уже и по исходникам Flex&#8217;а пробежался. Хоть убей, не мог понять почему оно убирает из этого свойства все теги <code>&lt;img&gt;</code>&#8230; До тех пор, пока не нашел в документации к <code>IUITextField</code>&#8216;у, который там активно используется:</p>
<blockquote><p>For AIR content in the application security sandbox, AIR ignores  <code>img</code> tags in HTML content in ActionScript TextField objects. This is  to prevent possible phishing attacks,</p></blockquote>
<p>Тупые фишинговые атаки. Читайте документацию, господа. Это экономит время!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dborisenko.com/2009/10/23/adobe-air-ne-podderzhivaet-teg-img-v-htmltext/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
