[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ООПять.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Guest
Мне кажется уже начали путать тёплое с мягким. Да фреймворки тупят, но как это касается ООП, то же пространство на творчество. )
Guest
Не понятен холивар. То есть из за чего! ))
Ну есть СТО где ремонтники чинят доделывают машины, да матом кроют инженеров. Это своя ниша работы. Есть заказчики, которые имеют свои сайты, свои предпочтения по опыту. Есть "ремонтники", которые чинят, дорабатывают на фундаменте изделие.
Есть "инженера", они разрабатывают всё с нуля, те же машины. Есть своя ниша заказчиков для этого. Но их намного меньше, так как денег больших не у всех имеется. То что Вам довелось оказаться в рядах "ремонтников" никак не увязывается с темой фреймворк и ООП. Это уже личное дело быть инженером и работать у заказчика, но все ж не могут. Как заказчики не могут так и программисты не могут. Пост это крик "инженера" о том что пришлось стать ремонтником.

PS
Фреймворк то же можно переделывать так как себе это нужно, там то же поле деятельности огромно. Кто не даёт писать классы простынями, не унифицированными простынями, и включать их в фреймворк? Отбрасывайте слои представления и БД и вперёд ))), кто мешает?

Я просто не пойму от чего произошёл такой холивар на кучу страниц?
waldicom
Цитата (Guest @ 12.12.2012 - 00:38)
Я просто не пойму от чего произошёл такой холивар на кучу страниц?

вар, потому что он холи... т.е. всем похрену на истину, тут просто два лагеря друг в друга какахами кидаются...

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Guest
Я вот просто не представляю если будет фреймворк написан на функциях и использоваться большой частью программистов и заказчиков, его "оппозиция" будет считать недоразумением ))
Давайте уважать любых рабочих и любые уровни. Инженер попав в ряды ремонтников на СТО думаю такой же самый разговор завёл 100%
Guest
Цитата
вар, потому что он холи... т.е. всем похрену на истину, тут просто два лагеря друг в друга какахами кидаются...

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

Я не написал, там ядро, тяжёлые классы, ORM, ( о нет эти 8mb при загрузки системы!)
Код очень прост, он разделает Вашу логику на 3 аспекта ( Ваш один файл всё это содержит)

-model
-view
-controller

http://127.0.0.1/project/news/add
Значит подключается контроллер с именем news, и вызывает метод add

Идея в том что, не кто не рылся в Ваших файлах, не менял html коды.

(Которые категорически запрещены, также как и
global $a,b,c и $color1,$color3,$color2,3,4,5
)
Если дизайнера попросят убрать строчку в колонке, он уже это не сможет сделать.

Не какого framework,не каких zend2, symfony2, kohana и тд.
Простая структура проекта.
Когда посмотрите на мою структуры, пороетесь, просто сравните со своей.

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

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

В вашем случае, придёт Петя, потом Вас, и Коля, которые добавят в этот файл , ещё по 10, 20., 40 функции и будет возвращать, как хочет, что хочет, потому что так удобно.
И это в 90% процентах так.

В моём случае, любой программист может дописать / изменить
модель, вид, контроллер и это будет не зависимо.

Узучение frameworka для программится состовляет max неделю.
И он от этого не умрёт , что знает его.

Так же как и языки программирование такие , как lisp /. и.т.д
Они умерли, ну нечего перестроилсь.



Invis1ble
Цитата
P.S. Мне хотелось бы, эх, как хотелось бы шепнуть вам на ушко, где прокол в архитектуре программного обеспечения ...

так а что мешает? или сие великая тайна и мы, нубы, не готовы познать ее?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sharki
Dezigo
Ну ты прям почти фреймворк написал)) вот до чего люди идут, чтобы доказать другому что он не прав)

PS а по коду, молодца Dezigo, уделал всех процедурщиков)
twin
Guest
Цитата
Но Вы как раз ремонтопригодность привели к нулю. Ещё раз говорю, всё в одном месте не является упрощением. Тому доказательство дублирование кода аплоада файлов и их перемещения.
Опять двадцать пять. Именно то, что это является упрощением, я и талдычу. Ремонтопригодность говорите? А давайте спросим у народа, что ремонтопригоднее, мой говнокласс или ремейк Dezigo, построенный по принципам суперархитектуры.

Да, я долго думал насчет аплоада, выносить отдельно или сделать все в одном. Да, есть и отдельный класс аплоадера. Большой, с ресайзером, с проверками и т.д. Вот из этого конкурса рожденный. Но была другая задача, загрузить картинку как картинку, а все остальное как архив. Самым простым оказалось написать свой метод, в котором ни строчки лишней, и поместить его сюда же. Дабы, опять повторю, все было под рукой. Самодостаточность класса взяла верх в моих рассуждениях.
Цитата
Если смотреть на класс с точки зрение всё в одном, эдак придём к 30 мб процедурному коду, кто то здесь говорил. А почему он не прав, прав с точки зрения не унификации и всё в одном месте. Только почему то Вы скажете что это плохо а здесь хорошо.
На класс нужно смотреть с точки зрения рациональности. Она, и только она определяет величину класса и имеющийся в нем функционал. Это не унификация вовсе. Унификация, это приведение к однообразию. Когда вы, взглянув мельком на код, тут же заявляете, что в модели нечего делать HTML. Без объяснения причин, просто потому, что это модель, это будет унификация. Раз в других архитектурах в модели нет разметки, значит нельзя. Запрсы нельзя в контроллерах, потому что какой то там крутой хрен с горы написал абривеатуру ТТУК и все теперь расшибают лбы в молитвах. Дабы было однообразно. А я как раз от этого стараюсь уйти в пользу рациональности и здравого смысла.
Цитата
мне интересны Ваши соображения по пределу вместимости класса. Например, если исходить из этого, тогда нужно требование "Сделать сайт" поместить в один класс ))), а почему нет?
Читай выше - предел диктуется здравым смыслом. Я не пихал в класс постраничку. Не пихал bb-декодер. PCLZIP не пихал. долго думал насчет апплоадера. Но класс вместе с комментами и в BSD стиле занимает всего 500 с небольшим строк. Это вполне читабельно и уж точн лучше для ФС, чем куча подключений. А вот 30 mb кода грузится как раз тогда, когда вроде бы все по файлам, а из песни слов не выкинуть. Я приводил пример, для того, что бы написать Привет мир, ZEND грузит в оперативку около 8 метров кода.
Цитата
Почему предметная область опросника не может включиться в единое пространство класса с предметной области пользователь и его профиль с аплоадом аватара ... Всё в одном месте и никуда не нужно переходить по файлам.
Потому что есть такой немаловажный орган, как голова.
Цитата
Пост это крик "инженера" о том что пришлось стать ремонтником.
Пост, это крик инженера, который видит, что ремонтники аккупировали конструкторское бюро и теперь так дружески-снисходительно похлопывают по плечу: ну ничего, мол. И ты научишься когда-нибудь копипастить.

Вот человек понимает суть дела. Жаль таких пока немного, но если не будет таких криков души, еще долго придется материться, глядя на индусский код от Dezigo, в который он умудрился превратить 500 строк кода.

Причем при ближайшем рассмотрении оказалось, что кода то вовсе и нет. Что вся эта куча папок и файлов - пустая голая архитектура. Котроая (внимание!)
Цитата
... разделает Вашу логику на 3 аспекта ( Ваш один файл всё это содержит)

-model
-view
-controller
Так а я о чем блин? Это не вы разделили. Это я соединил. В один на 500 строк. Для вас много 500 строк? О каких больших проектах мы говорим тогда... Для меня это норма, обычный функционал страницы.

Цитата
Идея в том что, не кто не рылся в Ваших файлах, не менял html коды.
Идея сохраняется. Просто не нужно опускаться до фанатизма. Никому нечего делать в классе. Есть CSS, есть основные шаблоны. А то, что ксласс формирует таблицу и ссылки, это совсем не значит, что там нужно рыться.
Цитата
Если дизайнера попросят убрать строчку в колонке, он уже это не сможет сделать.
Нет там того, что можно убрать. Все, что можно убирать - снаружи. Есть там шаблоны для этого:
            $cont1 = getTpl( $this->table .'/ticket_rows');    
$cont2 = getTpl( $this->table .'/tickets_rows');

Если интересно вот такого плана:
<!-- ./skins/default/user/tickets_rows.html begin -->
<div class="quest_time">
<table
width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<strong>
Дата</strong> <?php echo $tpl_date; ?></td><td>
<?php
if($tpl_last){ ?>
<a
href="<?php echo href("mod=delete", "parent=". $tpl_id_parent, "id=". $tpl_id, "num=". $tpl_get['num']); ?>"
onclick="return confirm('Удалить?')">
<img
src="<?php echo src('del.png', 'img'); ?>" align="right" alt="Удалить" border="0" /></a>
<a
href="<?php echo href("mod=edit", "parent=". $tpl_id_parent, "id=". $tpl_id, "num=". $tpl_get['num']); ?>">
<img
src="<?php echo src('edit.png', 'img'); ?>" align="right" alt="Редактировать" border="0" /></a>
<?php
} ?>
</td>
</tr>
</table>
</div>
<div
class="quest_text" style="background-color:<?php echo $tpl_color;?>">
<?php
echo $tpl_text; ?>
</div>

<div
style="background-color:<?php echo $tpl_color;?>; padding:5px">
<?php
echo $tpl_hidden, $tpl_file; ?>
</div>

<!-- ./skins/default/user/tickets_rows.html end -->

Верстай сколь душе угодно.

И нечего в классе делать - класс выдает таблицу. Расскрашивай как хочешь. Да, не предусмотрен перевод на дивы. Но и нафиг не надо, я уже говорил - давайте носки будем заставлять стирать и борщ готовить.
Цитата
Которые категорически запрещены, также как и global
Кто это посмеет мне что-то запрещать? Это вам в золотой клетке фреймворка все запрещено. А мне нет. И я с удовольствием пользуюсь всеми возможностями языка. Просто нужно уметь готовить.
Цитата
Когда посмотрите на мою структуры, пороетесь, просто сравните со своей.
Посмотрел, порылся, сравнил. Прилагаю свою, поройтесь и сравните.

Я не претендую на идеальность, но такая аскетичная структура намного ремонтопригоднее вашей. Ибо нет там "архитектуры". Просто все разложено по полочкам. Контроллеры в одном месте, модели в другом, библиотеки и общие классы в третьем. Еще есть папка компонент (здесь нету за ненадобностью) туда помещаются большие функционалы плана системы регистрации к примеру. Которые состоят из нескольких контроллеров и своих моделей.

Всё прозрачно до безобразия. И наверное именно эта прозрачность не дает покоя. Как же так, это не круто. Любой может разобраться. Крутой код это тот, в котором понимают избранные поборники фреймворков.
Цитата

И да.. в вашем случае, класс это набор функций.. а на самом деле это логический контейнер.
Поймите зачем в класс пихать набор функции., это бессмысленно.
С этого места поподробнее. Почему это бессмысленно? Я вот допустим вижу смысл.
Цитата
Вы просто не знаете как это использовать по нужде, поэтому Вы добавили всю в одну кучу,
теперь я понимаю, почему Вы не видите смысла использовать, ООП, от процедурного подхода.
Опять мне ставят диагноз. Да знаю я. И умею. На столько знаю и умею, что учебники пишу. И потому то и ушел от этого, это пройденный этап. Правда я на нем совершенно не задержался, не было нужды.

Цитата
В вашем случае, придёт Петя, потом Вас, и Коля, которые добавят в этот файл , ещё по 10, 20., 40 функции и будет возвращать, как хочет, что хочет, потому что так удобно.
Да, черт побери! Именно удобно! И пусть дописывает и пусть возвращает, если ему удобно. Зачем неудобно то делать?
Цитата
В моём случае, любой программист может дописать / изменить
модель, вид, контроллер и это будет не зависимо.
А у меня что? Невидимые связи? Кому помешает Петя или Коля. которые что-то допишут в модели консультации? Категорически не понимаю.

Цитата
Узучение frameworka для программится состовляет max неделю.
И он от этого не умрёт , что знает его.
Да не умрет конечно. Я больше скажу, нормальному прогеру и недели не надо, можно писать сходу, читая мануал по мере надобности. Дело то не в этом. Дело в дальнейшем обслуживании раз и в стогнации - два. А стогнация обязательно происходит, ибо любой фреймворк - рамки. Вас вот global испугал, eval() для вас наверняка страшнее дьявола. Выйти из неймспайсика считается побегом и карается расстрелом. А как быть с наработками, если придется не по своей воле сменить фреймворк? Не жалко своих трудов?

Цитата
PS а по коду, молодца Dezigo, уделал всех процедурщиков)
Это сарказм я надеюсь? Иначе были бы пояснения.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.