Моя библиотека - социальная сеть любителей книг

35 принципов объектно-ориентированного дизайна

Проектирование 14.03.2008

Я не люблю копировать чужие мысли, но эта статья будет копией =) Копией замечательного перевода отрывка из книги Брюса Эккеля «Thinking in Java.». Автор перевода Анатолий Тутов.

И так приступим:

  1. Изящество всегда вознаграждается. Может показаться, что слишком долго искать действительно красивое решение проблемы, но когда вы сможете легко адапатировать его к новой ситуации, избежав долгих часов, дней, а то и месяцев борьбы с собственным кодом, вы будете вознаграждены(даже если со стороны это будет незаметно). Это позволит вам создать программу, которую легко не только скомпилировать и отладить, но и понимать и изменять, что, собственно, и составляет коммерческую ценность. Понимание этого пункта требует некоторого опыта, поскольку, пока вы делаете фрагмент кода элегантным, кажется, что вы мало продуктивны. Не поддавайтесь спешке и суете, они только замедлят вашу работу.
  2. Сначала заставь работать, потом ускоряй.
    Это верно, даже если вы уверены, что фрагмент кода действительно важен и будет основным узким местом в вашей системе. Не торопитесь. Сперва заставьте систему работать с настолько простым решением задачи, насколько это возможно. Уже потом, если решение оказалось не достаточно быстрым, профилируйте его. Почти всегда вы обнаружите, что ваше мнимое узкое место не проблема. Потратьте время на более важные вещи.
  3. Читать полностью »

“Светофорчики” или flash-сообщения

Программирование 10.12.2007

Интро

Сидел на днях перечитывал RSS-ки за пару недель, пытался вновь войти в программистский римт… уж сильно меня увлекло мое давнее увлечение - конструирование шокеров. :) Но об этом, я скорее всего, напишу позже. Так вот, сидел-перечитывал и наткнулся на статьи Владимира Лучанинова “Вернуться назад и сообщить о результате” и “Разные flash для ошибок, сообщений и подтверждений“.

У него статьи посвящены flash-собщениям (я их люблю называть “светофорчиками”) в CakePHP. Читая я вспомнил, что у меня в проектах тоже есть такие сообщения, и они никак не зависят от системы, т.е. их без труда можно будет добавить на любой сайт.

Читать полностью »

UML - это просто. Диаграммы последовательностей.

Проектирование 05.12.2007

Интро

В своей первой статье “UML - это просто” я описывал диаграммы классов, хотя правильнее было бы начать с общего описыния языка, потом перейти на описание сущностей и собственно начать с диаграмм последовательностей. Но, мне просто хотелось вас заинтересовать. :) И я решил подать в доступной форме довольно сложный материал. Судя по комментариям, у меня это получилось. :)

В общем, как понятно из названия, в этой статье, я постараюсь рассказть о втором (а зачастую и первом) типе диаграмм - диаграммах последовательностей. Забегая вперед, скажу, что эти диаграммы покроют, практически, 90% ваших потребностей при проектировании интернет-приложений. При этом они намного легче диаграмм классов.

Читать полностью »

UML - это просто

Программирование, Проектирование 09.11.2007

Сегодня я постараюсь рассказать о трех буквах, которые слышали практически все программисты… нет, это не те буквы… :) Это UML.

В двух словах

UML (Unified Modeling Language) - унифицированный язык моделирования - это язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.

Использование UML не ограничивается моделированием программного обеспечения. Его также используют для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.

Разновидности

Существует 13 официальных диаграмм UML 2.0, каждая из которых представляет собой различное представление разных аспектов системы:

  • Диаграмма активности;
  • Диаграмма классов;
  • Диаграмма связей;
  • Диаграмма компонентов;
  • Диаграмма составных структур;
  • Диаграмма развертывания;
  • Диаграмма обзора взаимодействий;
  • Диаграмма объектов;
  • Диаграмма пакетов;
  • Циклограмма;
  • Диаграмма машин состояния;
  • Диаграмма синхронизации;
  • Диаграмма прецедентов.

Но мы себе сразу выносить мозг не собираемся (мы будем делать это постепенно), так что сегодня поговорим только об одном виде диаграмм - диаграммах классов. И проиллюстрируем все примерами на PHP.
Читать полностью »

Скажи кэшированию… иногда. Часть 2: Memcache

Программирование 19.10.2007

В своей первой статье о кэшировании, я рассказывал о кэшировании информации в файлы. Данный тип кэширования можно использовать на всех хостингах, для него не требуется установки какого-либо специфического ПО (разумеется хостинг должен поддерживать PHP).

Сегодня я расскажу о кешировании при помощи MemCache (и еще ссылочка).

В предыдущей статье мы создали 2 класса: Cache & File. В этой статье нам снова пригодится класс Cache, только на этот раз мы заменим его на интерфейс (FX Poster, спасибо за поправку) и будет называться CACHE_ICache (почему, думаю, поймете позже).

Таким образом интерфейс CACHE_ICache будет выглядеть следующим образом:


<?php
interface CACHE_ICache
{
	public function save($value, $valueID);
	public function load($valueID, $timeLife);
	public function delete($valueID);
}
?>

Установка memcache под Windows

  1. Скачиваем сервер memcached (memcached-1.2.1-win32.zip)
  2. Распаковываем полученный архив на диск, например, в c:\memcache\
  3. Далее запускаем из командной строки: c:\memcache\memcached.exe -d install, тем самым устанавливая memcached как сервис.
  4. Теперь, осталось только запустить этот сервис: c:\memcache\memcached.exe -d start
  5. Все, memcache установнен на вашей машине и уже работает. Список всех доступных команд получаем так: c:\memcache\memcached.exe -h

Читать полностью »


Copyright, 1983 – 2010