<?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>Блог маленького, но очень отважного программиста &#187; Программирование на PHP</title>
	<atom:link href="http://xo66ut.ru/archives/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://xo66ut.ru</link>
	<description>PHP, MySQL, Javascript, JQuery, ExtJS, UML, и другие интернетости...…</description>
	<lastBuildDate>Sun, 29 Aug 2010 10:20:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Работа с DB в Zend Framework</title>
		<link>http://xo66ut.ru/archives/489</link>
		<comments>http://xo66ut.ru/archives/489#comments</comments>
		<pubDate>Fri, 27 Aug 2010 15:06:26 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=489</guid>
		<description><![CDATA[
Не так давно, начал разбираться с Zend Framework, в этом очень помогают скринкасты от Jon Lobenlsold. Документация на офф сайте скудная и раскрывает только частные понятия отдельных классов, которые в принципе итак показываются с помощью той же IntelliSense Eclipse.
Подвигло меня написать этот пост следующее, я не мог понять как лучше коннектиться к базе, возможно мое [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img class="aligncenter size-full wp-image-491" style="border: 0pt none;" title="zend_framework" src="http://xo66ut.ru/wp-content/uploads/2010/08/zend_framework2.jpg" alt="zend_framework" width="282" height="174" /></div>
<p>Не так давно, начал разбираться с Zend Framework, в этом очень помогают <a href="http://www.zendcasts.com/" target="_blank">скринкасты </a>от Jon Lobenlsold. Документация на офф сайте скудная и раскрывает только частные понятия отдельных классов, которые в принципе итак показываются с помощью той же IntelliSense Eclipse.<br />
Подвигло меня написать этот пост следующее, я не мог понять как лучше коннектиться к базе, возможно мое решение поможет новичкам в ZF, таким же как и я. Я видел решение с созданием <strong><em>Helper</em></strong>&#8216;а, но как выяснилось все намного проще. Как показала практика решение с <strong><em>Helper </em></strong>подходит только тогда, когда коннект к базе происходит из Контроллеров. Я же хочу делать запросы из собственного класса, который лежит у меня в папке /library/App/.<br />
Итак для коннекта к базе необходимо сделать следующее -<br />
Прописать следующие строчки в application.ini (я прописал в секцию production)</p>
<pre class="brush: php;">
resources.db.adapter = &quot;PDO_MYSQL&quot;
resources.db.params.charset = &quot;utf8&quot;
resources.db.params.host = &quot;127.0.0.1&quot;
resources.db.params.username = &quot;root&quot;
resources.db.params.password = &quot;123456&quot;
resources.db.params.dbname = &quot;yourdb&quot;
</pre>
<p>После этого можно делать запросы из любого класс можно следующим образом.</p>
<pre class="brush: php;">
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
 $result = $dbAdapter-&gt;query(&quot;SELECT * FROM users&quot;)-&gt;fetchAll();
 var_dump($result);
</pre>
<p>В данном случае статический метод <strong><em>getDefaultAdapter </em></strong>возвращает <strong><em>Zend_Db_Adapter_Abstract</em></strong>, то есть тоже самое, что и при создании подключения через <strong><em>factory</em></strong>, а именно:</p>
<pre class="brush: php;">
$config = Zend_Registry::get('config');
$dbAdapter  = Zend_Db::factory($this-&gt;config-&gt;db-&gt;type,
 array('host'     =&gt; $config-&gt;db-&gt;host,
 'username' =&gt; $config-&gt;db-&gt;user,
 'password' =&gt; $config-&gt;db-&gt;pass,
 'dbname'   =&gt; $config-&gt;db-&gt;name
 )
 );
</pre>
<p>В первом случае настройки автоматически подхватываются из application.ini, во втором же их приходится прописывать вручную.</p>
<p>Буду рад, если кому-нибудь данное открытие поможет как и мне.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=489&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/489/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Переход от Dreamweaver к Expression Web 3</title>
		<link>http://xo66ut.ru/archives/301</link>
		<comments>http://xo66ut.ru/archives/301#comments</comments>
		<pubDate>Fri, 16 Apr 2010 09:34:43 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[userfriendly]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=301</guid>
		<description><![CDATA[Вспомнив что у меня имеется подписка на Microsoft продукты через dreamspark, решил посмотреть, что предлагает софтверный гигант для прототипирования интерфейсов. А наткнулся в итоге на интересную альтернативу Dreamweaver - Expression Web 3. Ее функционал  практически ничем не отличается от Dreamweaver CS3, но есть одно ключевое отличие. При первом открытии Expression Web 3 все основные возможности [...]]]></description>
			<content:encoded><![CDATA[<p>Вспомнив что у меня имеется подписка на Microsoft продукты через dreamspark, решил посмотреть, что предлагает софтверный гигант для прототипирования интерфейсов. А наткнулся в итоге на интересную альтернативу <strong>Dreamweaver </strong>- <strong>Expression Web 3</strong>. Ее функционал  практически ничем не отличается от <strong>Dreamweaver CS3</strong>, но есть одно ключевое отличие. При первом открытии <strong>Expression Web 3</strong> все основные возможности грамотно и аккуратно сосредоточены вокруг рабочей области, пользователь видит большинство функций, которые предоставляет IDE. В <strong>Dreamweaver </strong>же, я смог узнать, что у него есть аналогичные функции, только сравнивая их с <strong>Expression</strong>. Может конечно мне стоило сразу после установки сконфигурировать  <strong>Dreamweaver</strong>, чтобы удобно расположить в панелях необходимый мне функционал, но почему Adobe было не побеспокоится об этом ?  В целом же программы действительно идентичны. Единственное у меня всегда были проблемы в <strong>Dreamweaver </strong>со стандартными Javascript функциями, у <strong>Expression Web</strong> их нет.<span id="more-301"></span></p>
<p>Функции которыми я сразу начал пользоваться, хотя до этого не догадывался о существовании некоторых из них в <strong>Dreamweaver</strong>:</p>
<ul>
<li>Проверка CSS и HTML валидности на лету (В <strong>Dreamweaver </strong>по умолчанию отключена)</li>
<li>Удобное использование code snippets (В <strong>Dreamweaver </strong>по умолчанию отключена)</li>
<li>Тестирование во всех браузерах установленных в системе в одном окне, удобно сравнивать как выглядит сайт в различных браузерах (В <strong>Dreamweaver </strong>такой фукции я не видел, поправьте меня)</li>
<li>Code Hyperlink удобный переход к объявлению функции из ее вызова.</li>
<li>Панелька DOM структуры
<div class="wp-caption aligncenter" style="width: 308px"><img src="http://xo66ut.files.wordpress.com/2010/04/dom_panel.jpg" alt="Dom Panel" width="298" height="56" /><p class="wp-caption-text">Dom Panel</p></div></li>
</ul>
<p>Хотя я думаю, что я нашел еще не все функции этой IDE, уже сейчас я решил отказаться в ее пользу от <strong>Dreamweaver</strong>.<br />
Ну и напоследок скриншот самой программы</p>
<p><div class="wp-caption alignnone" style="width: 610px"><a href="http://xo66ut.files.wordpress.com/2010/04/ex_web_3.jpg"><img class=" " title="Expression Web 3" src="http://xo66ut.files.wordpress.com/2010/04/ex_web_3.jpg" alt="Expression Web 3" width="600" height="467" /></a><p class="wp-caption-text">Expression Web 3</p></div>
<p><strong>Вывод</strong>: благодаря грамотному userfriendly интерфейсу я перешел в <strong>Dreamweaver </strong>на <strong>Expression Web</strong>. Плюс MS за подачу аналогичного функционала в новом свете.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=301&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/301/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Начало работы с PDT или поиск PHP IDE</title>
		<link>http://xo66ut.ru/archives/229</link>
		<comments>http://xo66ut.ru/archives/229#comments</comments>
		<pubDate>Sat, 26 Dec 2009 13:29:42 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Smarty]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=229</guid>
		<description><![CDATA[Понял что использовать Dreamveawer больше не могу, поэтому начал присматриваться к мощным PHP IDE. Припомнил, что читал на Хабре статью про сравнение IDE для языка PHP.  В принципе статья состоит практически из одной сравнительной таблицы, автор расшарил ее на гуглодоках. Была мысль использовать Zend Studio, но цена сразу же отмела эту мысль. Вообще нужно [...]]]></description>
			<content:encoded><![CDATA[<p>Понял что использовать Dreamveawer больше не могу, поэтому начал присматриваться к мощным PHP IDE. Припомнил, что читал на Хабре статью про сравнение IDE для языка PHP.  В принципе статья состоит практически из одной сравнительной таблицы, автор расшарил ее на <a href="http://spreadsheets.google.com/ccc?key=pbvC5nxGiiolgV3KGiORdBQ">гуглодоках</a>. Была мысль использовать Zend Studio, но цена сразу же отмела эту мысль. Вообще нужно сказать, что хотя в сравнительной таблице довольно много разных IDE, но я считаю, что достоины внимания только три из них:</p>
<ol>
<li>Zend Studio</li>
<li>Netbeans</li>
<li>Eclipse</li>
</ol>
<p>Как я уже сказал, Zend Studio стоит немалых денег, поэтому для меня остались только Netbeans и Eclipse. Я как человек не по наслышке знакомых с Flex, решил выбор в пользу Eclipse (Flex редактор построен на основе Eclipse).</p>
<p>Нужно отметить, что <strong>Eclipse</strong> как таковой это фреймворк для разработки модульных кроссплатформенных приложений. Поэтому ознакомившись и научившись работать с Eclipse для PHP, затем перейти на этот же IDE, допустим под Java не составит труда.</p>
<p>Воодушевившись всеми вышеперечисленным доводами, я начал настройку PDT.<span id="more-229"></span></p>
<p>Так как я в своих проектах люблю использовать Smarty, то сразу решил настроить в редакторе работу с ним. Погуглив сразу же нашел <a href="http://code.google.com/p/smartypdt/">плагин для работы со Smarty в среде Eclipse</a>.</p>
<p>Преступим к установке, для этого нужно скачать архив с файлами.</p>
<ul>
<li>Для начала проверим, не ассоциируются ли .tpl (файлы шаблонов Smarty) файлы с какими-нибудь редакторами. Для этого идем в Window-&gt;Preferences-&gt;General-&gt;Content Types. Там заходим в Text и проверяем секции HTML и PHP Content Type. Если в этих секциях есть упоминания .tpl удаляем.</li>
<li>Идем в раздел Help-&gt;Install New Software<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/smarty_pdt.jpg"><img class="alignnone size-medium wp-image-5" title="smarty_pdt" src="http://xo66ut.wordpress.com/files/2009/12/smarty_pdt.jpg?w=300" alt="Установка дополнения Smarty PDT" width="300" height="267" /></a><br />
Жмем &#8220;OK&#8221;, убираем галочку &#8220;Group items by category&#8221; и видим только что добавленное дополнение.</li>
<li>Далее жмем кнопку &#8220;Next&#8221; несколько раз и видя окно предупреждения не переживаем и жмем &#8220;OK&#8221;<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/warning.jpg"><img class="alignnone size-medium wp-image-6" title="warning" src="http://xo66ut.wordpress.com/files/2009/12/warning.jpg?w=300" alt="Предупреждение" width="300" height="95" /></a></li>
<li>После этого перегружаем Eclipse кликнув на кнопку &#8220;Yes&#8221;, или вручную просто закрыв и запустив IDE заново.<br />
Все плагин установлен.</li>
</ul>
<p>Есть распространенная ошибка, которую активно обсуждают в wiki проекта на гулокоде,  я и сам ее допустил.</p>
<p><a href="http://xo66ut.wordpress.com/files/2009/12/error.jpg"><img class="alignnone size-medium wp-image-7" title="error" src="http://xo66ut.wordpress.com/files/2009/12/error.jpg?w=300" alt="" width="300" height="36" /></a></p>
<p>А все оттого, что не зная о существовании плагина, я самостоятельно ассоциировал *.tpl файлы c обычным редактором.<br />
Для решения проблемы делаем следующее:</p>
<ol>
<li>Удаляем установленный плагин Smarty. Для этого идем в Help-&gt;Install New Software и ищем ближе к правому нижнему углу ссылку &#8220;What us already installed?&#8221;. Видим окно с тем, что установлено выбираем Smarty Feature, нажимаем на кнопку &#8220;Uninstall&#8221;. Жмем далее, перезапускаем Eclipse.</li>
<li>После запуска сразу идем в Window-&gt;Preferences-&gt;General-&gt;Editors-&gt;File Associations и удаляем там *.tpl.<br />
<a href="http://xo66ut.wordpress.com/files/2009/12/tpl.jpg"><img class="alignnone size-medium wp-image-8" title="tpl" src="http://xo66ut.wordpress.com/files/2009/12/tpl.jpg?w=300" alt="" width="300" height="297" /></a></li>
<li>Теперь устанавливаем плагин заново, все должно работать.</li>
</ol>
<p>Ну и пример как все выглядит в рабочем состоянии.</p>
<p><a href="http://xo66ut.wordpress.com/files/2009/12/in_work.jpg"><img class="alignnone size-medium wp-image-9" title="in_work" src="http://xo66ut.wordpress.com/files/2009/12/in_work.jpg?w=300" alt="" width="300" height="177" /></a></p>
<p>Ну а теперь самое время перейти к тестированию работы IDE, чего и вам желаю <img src='http://xo66ut.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=229&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/229/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Памятка начинающего ООП-программиста</title>
		<link>http://xo66ut.ru/archives/23</link>
		<comments>http://xo66ut.ru/archives/23#comments</comments>
		<pubDate>Thu, 21 May 2009 12:06:36 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[UML проектирование]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=23</guid>
		<description><![CDATA[Небольшая памятка для начинающего ООП-программиста.
Я постарался простым языком дать определения  основных понятий в Объектно-Ориентированном Программировании.
Пока только основные понятия, потихоньку буду дополнять.
Объектно-ориентированные программы состоять из классов и объектов. Класс можно сравнить с &#8220;чертежом&#8221;, согласно которому создаются объекты. Объект это экземпляр класса. Класс в отличие от объекта всегда один, тоесть по коду класса (&#8220;чертежу&#8221;), мы можем  создать [...]]]></description>
			<content:encoded><![CDATA[<p>Небольшая памятка для начинающего ООП-программиста.<br />
Я постарался <em>простым </em>языком дать определения  основных понятий в Объектно-Ориентированном Программировании.<br />
Пока только основные понятия, потихоньку буду дополнять.<br />
<span id="more-23"></span>Объектно-ориентированные программы состоять из классов и объектов. <strong>Класс</strong> можно сравнить с &#8220;чертежом&#8221;, согласно которому создаются <strong>объекты</strong>.<strong> Объект</strong> это экземпляр <strong>класса</strong>. <strong>Класс</strong> в отличие от объекта всегда один, тоесть по коду <strong>класса</strong> (&#8220;чертежу&#8221;), мы можем  создать неограниченное число <strong>объектов</strong>, но не наоборот. <strong>Класс</strong> является описываемой на языке программного кода моделью, ещё не существующей сущности &#8211; <strong>объекта</strong>. <strong>Объект</strong> &#8211; это некоторый объем памяти выделяющийся при создании экземпляра <strong>класса</strong> (например, после запуска результатов компиляции (для компилируемых языков)  исходного кода на выполнение). Для интерпретируемых просто вызов экземпляра <strong>класса</strong> при выполнении.<strong> Объект </strong>сочетает данные и процедуры для их обработки. Такие процедуры обычно называют <em>методами </em>или <em>операциями. </em>Объект выполняет операцию, когда получает <em>запрос</em> или <em>сообщение</em> от <em>клиента</em>. Посылка запроса &#8211; это <em>единственный</em> способ заставить объект выполнить операцию. А выполнение операции &#8211; <em>единственный</em> способ изменить внутреннее состояние объекта. Имея в виду два эти ограничения, говорят, что внутреннее состояние объекта <strong>инкапсулировано</strong>: к нему нельзя получить непосредственный доступ, то есть представление объекта закрыто от внешней программы. <strong></strong></p>
<p><strong><br />
Инкапсуляция</strong> — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список объявленных свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип <strong>инкапсуляции</strong> (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимость классов друг от друга. Одной из целей <strong>инкапсуляции</strong> является невозможность для пользователя узнать или испортить внутреннее состояние объекта.</p>
<p><strong>Наследованием</strong> называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией.<br />
<strong>Полиморфизмом</strong> называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Тоесть во время выполнения метода выполняется не фиксированный программный код, как у обычного метода, а код (метод) того объекта, который лучше всего подходит для выполнения данной задачи. <strong>Полиморфизм</strong> позволяет отделить объекты друг от друга и дает объектам возможность изменять взаимоотношения во время выполнения. Такая взаимозаменяемость является важнейшей особенностью объектно-ориентированных  систем.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=23&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/23/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Создание USL-CMS</title>
		<link>http://xo66ut.ru/archives/29</link>
		<comments>http://xo66ut.ru/archives/29#comments</comments>
		<pubDate>Tue, 19 May 2009 12:39:10 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[Создание USL-CMS]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/archives/29</guid>
		<description><![CDATA[Решением коллегиальной комиссии (шутка), было решено создать свою cms систему с доступным (userfriendly) администрированием, работа движется, что получится &#8211; покажет время. В настоящее время над ней работает 3 человека. Собираюсь публиковать здесь важные этапы в развитии системы. В настоящее время интереса заслуживает разве что работа фотогалереи, когда написание этого модуля (а фотогалерея это опциональный модуль [...]]]></description>
			<content:encoded><![CDATA[<p>Решением коллегиальной комиссии (шутка), было решено создать свою cms систему с доступным (userfriendly) администрированием, работа движется, что получится &#8211; покажет время. В настоящее время над ней работает 3 человека. Собираюсь публиковать здесь важные этапы в развитии системы. В настоящее время интереса заслуживает разве что работа фотогалереи, когда написание этого модуля (а фотогалерея это опциональный модуль CMS), будет завершено, думаю написать здесь краткий обзор возможностей.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=29&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/29/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Паттерны проектирования</title>
		<link>http://xo66ut.ru/archives/6</link>
		<comments>http://xo66ut.ru/archives/6#comments</comments>
		<pubDate>Sun, 17 May 2009 07:34:44 +0000</pubDate>
		<dc:creator>Xo66uT</dc:creator>
				<category><![CDATA[UML проектирование]]></category>
		<category><![CDATA[Программирование на PHP]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://xo66ut.ru/?p=6</guid>
		<description><![CDATA[По совету Хабрасообщества обзавелся буржуйской книгой &#8220;Приемы объектно-ориентированного проектирования. Паттерны проектирования.&#8221; Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, Издательство: &#8220;Питер&#8221;, 2006 368 страниц

Кстати найти книгу в Питербурге оказалось не простым занятием, заявленная практически во всех Буквоедах, оказалась она только в 1 из 3, да и то вместе продавцом разыскивали ее на полках. Нашлась заваленная [...]]]></description>
			<content:encoded><![CDATA[<p>По совету Хабрасообщества обзавелся буржуйской книгой &#8220;Приемы объектно-ориентированного проектирования. Паттерны проектирования.&#8221; Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, Издательство: &#8220;Питер&#8221;, 2006 368 страниц<br />
<img class="alignleft" src="http://www.rsdn.ru/res/book/oo/design_patterns.jpg" alt="" width="200" height="291" /><br />
Кстати найти книгу в Питербурге оказалось не простым занятием, заявленная практически во всех Буквоедах, оказалась она только в 1 из 3, да и то вместе продавцом разыскивали ее на полках. Нашлась заваленная какими-то книжками по программированию. Книга очень сильная, так сразу и не разберешься (а сразу то и не надо). По словам авторов должна стать настольной книгой, к которой постоянно возвращаться и возвращаться (почитай консультироваться). Авторы кстати известные в проектированнии люди, так называемые &#8211; GOF, Gang Of Four (Банда четырех). Что купил не жалею нисколько, уже даже применил пару паттернов проектирования на практике, это Одиночка (Singleton) и Строитель(Builder). Минусы этой книги в переводе, все объясняется каким-то запутанным языком, приходится перечитывать по нескольку раз предложения. Мне почему-то кажется, что на анлийском(оригинальном) все более доступно объясняется. Со своим уровнем английского, покупать оригинальную книгу я побоялся, может быть зря ?!</p>
<p>Так что каждый ООП программист must have.</p>
<img src="http://xo66ut.ru/?ak_action=api_record_view&id=6&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://xo66ut.ru/archives/6/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
