Архитектура ядра. Вступление Наконец я добрался до этой статьи, а это значит что ядро практически готово. С опозданием, конечно, но все же.
Итак поговорим немного про архитектуру и идеологию. Идея написать ядро появилась много лет назад, когда я еще не программировал на PHP, а целые дни проводил в написании программ на Asm, C++ и Delphi. В это время я увлекся Perl — это был единственный язык программирования, который связывал мою деятельность с Internet. Семья у меня была не из богатых, и конечно желание заработать на своих продуктах возникла очень рано. И тут возникли определенные проблемы — каждый клиент постоянно хотел что-то эксклюзивное. Вот тут и пришла в голову идея, написать систему, легко конфигурируемую под разные задачи, но не теряющие своей гибкости и скорости работы. Так я и еще один мой хороший друг пришли к концепции ядер, которую каждый понимал по разному, но основные моменты были одинаковые:
Очень похоже на плагиновую систему. Достигать этих целей можно используя разные шаблоны проектирования. Так ядро изначально писалось на Delphi и в качестве ядра использовался суперглобальный реестр (Dependency Lookup), то в PHP добавилась инверсия зависимостей (Dependency Injection). Что же позволяет такая архитектура ядра? - Накапливать опыт разработки в виде расширений (готовой функциональности) - Писать все законченными модулями (формировать функциональность в одном месте) - Легко менять части системы или переписывать отдельные расширения затрагивая только необходимую часть системы - Более простая совместная разработка - Расширять функциональность или менять поведения системы за счет доработки дополнительных расширений. Стоит также сказать что упор делаться на разработку через конфигурирование (здесь может выступать скриптовой язык или система конфигурации). Цели - легко собирать продукт под текущую задачу с минимальным необходимым набором расширений, готовый к легкой модификации по требованию, но обладающий при этом высоким быстродействием. В php — это кодогенерация и сборка проекта в один рабочий файл, то есть на этапе разработки ядро работает "в полную силу" — загружает, парсит, генерирует файлы ORM ... и т.д. Но на боевом сервере работает собранный проект с только необходимыми пакетами.
Комментарии:
|
С вами на этой странице ↓
1 гостей сайта
Популярные блоги ↓9,11
7,53
7,24
5,96
4,88
3,47
3,46
3,01
2,62
2,56
Последние публикации ↓ Илья → Известные проблемы / Проблемы с RSS Иван → Процесс разработки / Архитектура ядра. Вступление Иван → Процесс разработки / Ставим WebGrind Иван → Новости сайта / Первая проба iCore и small Award ;) Иван → Процесс разработки / Снова в бой Иван → Шаблонизатор / Теория чистого HTML шаблона Иван → Процесс разработки / Небольшие новости Иван → Технологии / YAML Иван → Процесс разработки / Состояние дел Иван → Сборки / Патч для iCore v0.0.2 Иван → Процесс разработки / Новое ядро Иван → Идеи для сайта / Мини chat Последние комментарии ↓ olgafrolova → Известные проблемы / Проблемы с RSS Irbiz → Известные проблемы / Проблемы с RSS mind3 → Известные проблемы / Проблемы с RSS Александр С. → Ошибки на сайте / Ошибки Александр С. → Ошибки на сайте / Ошибки Иван → Процесс разработки / Архитектура ядра. Вступление Evgeniy → Процесс разработки / Архитектура ядра. Вступление xaoc → Ошибки на сайте / Ошибки xaoc → Ошибки на сайте / Ошибки xaoc → Ошибки на сайте / Ошибки netnikogo → Процесс разработки / Архитектура ядра. Вступление Иван → Процесс разработки / Архитектура ядра. Вступление Vasya → Процесс разработки / Архитектура ядра. Вступление Иван → Процесс разработки / Снова в бой netnikogo → Процесс разработки / Снова в бой |

Блог «

5 баллов
Vasya 17.03.2009 10:57# +3
Иван 18.03.2009 07:59# +1
netnikogo 19.03.2009 18:58# +3
выкладывайте хотя бы туда уже созданное, а мы бы тестили )
Evgeniy 23.04.2009 02:28# +1
очень интересует, будет ли новая версия icore cms, давно жду и когда.
на самом деле из всех предложенных аналогичных цмс, у вас более продуманная и легкая в использовании, возможно ли хотя бы выложить новую версию как есть?
С уважением, Евгений.
если не затруднит, напишите ответ пожалуйста
Иван 23.04.2009 06:52# +2
Новая версия iCore пишется и планируется к выпуску. К сожалению я не в состоянии заниматься полноценно разработкой этого проекта в силу определенных обстоятельств.
Но у меня есть определенные успехи. Выкладывать неполные версии я не могу — такой у меня характер.
Назвать точные сроки релиза я не могу. Но я хочу построить свой небольшой бизнес на основе OpenSource iCore — тогда точные сроки релизов будут называться обязательно.
Спасибо за понимание
С уважением,
Иван