Форум программистов, компьютерный форум, киберфорум
Проекты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.46/95: Рейтинг темы: голосов - 95, средняя оценка - 4.46
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232

Предлагаю сотрудничество

02.03.2024, 09:44. Показов 26914. Ответов 414
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Моё предложение прежде всего для одиночек, кто хочет заниматься своим делом в сфере IT, а не работать на "дядю".

Чем занимаюсь я? Я Программист самоучка, предпочитаю заниматься реализацией своих идей, для этого необходимо самостоятельное изучение языков программирования и IT технологий, разработка своих скриптов, модулей... своих проектов. На данный момент у меня есть свой фреймворк(стек: XML+PHP+MySql+HTML+CSS+JS) для создания сайтов на котором я начинаю создавать скрипты разных сайтов.

В чём моё предложение сотрудничества? Мне необходимо общение с кем-то чтобы обсуждать как что сделать, мнение со стороны, у кого имеются некоторые знания и опыт или хотя-бы желание в сфере сайтостроения. Я по мере своей разработки буду спрашивать как бы что сделали вы или выбрать что-то из предложенных мной вариантов и тд. это всё что от вас требуется. Что в замен предлагаю я вам? А я предлагаю вам следующее: реализацию любой вашей идеи(с моим фреймворком и опытом считайте, что ваша идея реализована уже на 90%), а если идей у вас нет, то предложу на выбор что-то из своих идей, далее обучу необходимым знаниям и буду помогать в реализации вашего проекта на своём фреймворке, а также дальнейшая тех поддержка и доработка.

Все детали будем обсуждать в ***
2
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2024, 09:44
Ответы с готовыми решениями:

Есть идея он-лайн проекта, предлагаю долю за сотрудничество
Добрый день друзья! Совсем недавно у меня родилась идея, на мой взгляд довольно перспективная. В двух словах, пишу сайт на джумле, в...

Сотрудничество / работа над проектом
Доброго времени суток , ищу человека для совместной работы над проектом , проект не черный и если вложиться принесет пользы, сфера хостинг ...

Предлагаю социальный проект
Давайте сделаем вместе программу. Идея ее заключается в следующем... В одном боксе пишите или диктуете сообщение что хотите...

414
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
15.04.2024, 17:56  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от voral Посмотреть сообщение
в теории я могу нарисовать диаграмму для вашего проекта. Но это мне зачем? Вы все равно в ней ни чего не поймете, поскольку буквари не читаете.
Неужели? Нарисуй тогда, а чего там понимать-то, всё элементарно. И увидишь сам, что это жёсткая статичная система, она на стадии разработки гибкая и понятная, а когда потребуются изменения, то придётся из одной части переделывать и другие, а по хорошему лучше всё переписать заново.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
15.04.2024, 18:25
Цитата Сообщение от pgb Посмотреть сообщение
Неужели? Нарисуй тогда, а чего там понимать-то, всё элементарно. И увидишь сам, что это жёсткая статичная система, она на стадии разработки гибкая и понятная, а когда потребуются изменения, то придётся из одной части переделывать и другие, а по хорошему лучше всё переписать заново.
Пока ты не прочитал о чем речь спорить бесполезно. Чтобы нарисовать качественную UML диаграмму необходимо время, я не могу что то делать "по принципу тяп ляп и в продакшн".. Зачем мне это надо? При грамотном подходе нет жестких связей. При этом вообще ни чего не надо переделывать. Частично из за этих правильных подходах, можно на различных проектах подставлять некоторые реализации от других разработчиков вообще ни чего не меняя. Просто указав, например, что за логирование теперь будет отвечать этот класс. Все точка. Это все изменения.

И вновь пример который я тебе уже говорил. Мой проект реализован в качестве модуля битрикс, использует ОРМ битрикс, использует для вывода шаблогизатор битрикс. Но я в течении дня спокойно могу переключиться на симфони или ларевел, да даже на твой фреймворк (тут только будет несколько сложнее в виду твоего подхода "лень изучать - придумаю сам".)

Повторюсь: почитай о чем речь. потому что по твоим фразам ты все больше и больше доказываешь на сколько ты безграмотен в разработке ПО.

Просто осознай: конечно ты можешь придумывать свое, делать по своему. Но хорошего ни чего не выйдет, если ты не знаешь как сделано в уже хорошоотлаженных популярных инструментах. Ты можешь сколько угодно втирать, что ты "изучил другие" но точно так же как сегодня ты лажаешь. И понять на сколько ты глупо выглядишь, ты сможешь только если все же возмешся и хоть один готовый инструмент изучишь.

А до тех пор лучше бы уж молчал о том чего не знаешь. А так только на посмешище выставляешь себя. Ведь тебе даже противопоставить нечего в свою защиту только слова... Но "балаболить не мешки ворочать".


Вот смотри у меня есть три варианта чем заняться, кроме работы:

- поработать над проектом, которым пользуются реальные люди изодня в день, добавить новую фишку. Работы там на долгие годы вперед, тк. там дофига вариантов и путей развития

- порабтать над опенсорсным проектом который по статистике сейчас скачивают в среднем 400+ раз в неделю, и не просто скачивают, а используют в своих проектах. (когда выпускаю обнову это хорошо видно). Там тоже есть идеи

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

В теперь поставь себя на мое место. С какой долей вероятности ты бы выбрал третий вариант? Если выбрал бы то зачем?

Добавлено через 10 минут
Вот пример твоего кода:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Engine
{
    use singleton;
 
    private static int $cct = 0;
    /** @var Manual объект инструкций xml */
    private Manual $Mnls;
    /** @var Nodes объект доступа к узлам */
    private Nodes $Nods;
    /** @var Collector объект коллекции данных */
    private Collector $Coll;
    /** @var Arguments объект аргументов xml-инструкции */
    private Arguments $Args;
    /** @var Variables объект переменных xml-инструкции */
    private Variables $Vars;
    /* * @var bool признак не шаблонов \<template\> */
    //private string $xmnl='';
    /* * @var array массив id счётчиков htm макетов */
    //private array $cnts=[];
    /** @var array константа, массив не закрывающихся тэгов */
    private const TGNC = ['area', 'base', 'basefont', 'bgsound', 'br', 'col', 'colgroup', 'embed', 'frame', 'hr', 'img', 'input', 'link', 'meta', 'option', 'param', 'source', 'spacer', 'td', 'th', 'track', 'wbr'];
 
    /** Конструктор */
    private function __Construct()
    {
        // подключаем
        Func('Lorry', 'Render');// нужные функции
        // доступ к
        $this->Mnls = Lorry('Manual');// инструкциям
        $this->Nods = Lorry('Nodes');// узлам
        $this->Coll = Lorry('Collector');// сборщику
        $this->Args = Lorry('Arguments');// аргументам
        $this->Vars = Lorry('Variables');// переменным
        //$_SESSION['prfx']=[];// сбрасываем перефиксы
    }
}
Строго говоря в нем уже есть признаки жестких связей классов, причем не оправданных особо. Если бы ты реально радел за гибкость и читал о том о чем сегодня говорили, то ты сделал бы иначе.

Что самое смешное зачатки такой гибкости есть (в данном случае, но так не во всех классах). т.е. тебе ни чего не стоило бы сделать правильно. Т.е. зачатки есть - но тут же сразу и они "пресечены".
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,732
16.04.2024, 05:34
Цитата Сообщение от pgb Посмотреть сообщение
Мне плевать кем вы меня считаете, если вы как коучи мне тут втираете всякие принципы программирования и тп., а сами на этих принципах ничего и не можете сделать, то грош вам цена.. и вашим наставлениям..
Откуда инфа о том, что "ничего не можете сделать"? Желаемой за действительное выдать пытаешься, что те самые стрелки перевести?

Цитата Сообщение от pgb Посмотреть сообщение
Фреймворк у меня есть
Всё, что у тебя есть - раздутое до космических масштабов ЧСВ и страшный дефицит внимания. То, что у тебя есть большая куча говна, которую ты любовно "фреймворком" называешь, я не оспариваю. То, что оно из себя что-то отличное от кучи говна представляет придумал ты сам, и всем остальным это доказать пытаешься. Чтобы получить признание.

Пока ты не перестанешь пальцы веером загибать, да огораживаться от людей, чтобы не порушили твои хрустальные фантазии о том, какой ты молодец и гений, не будет у тебя никаких сотрудничеств и партнёрств. Никто не пойдёт к тебе на поклон, столь глубокий, что задницу свою увидеть можно, ради того, чтобы посмотреть на твой фреймворк. Ведь единственное, чем ты пытаешься заинтересовать людей - самовосхваления, да ещё в хамоватой форме подающиеся.

Единственный, кто видел твоё поделие - voral. И того, я смотрю, от увиденного штырит хорошо так. Как бы пристрелить не пришлось беднягу.
5
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
16.04.2024, 09:01  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Вот смотри у меня есть три варианта чем заняться, кроме работы:
Вот пока ты тут свою значимость показывал, писал сообщение мог бы накидать простую схему, да даже в текстовом виде можно было сделать по сути. Почему то у чувака с форума безграмотного в разработке ПО у которого дел не меньше вашего который не читал про GRASP и ничего не понимает легко может накидать такую схему, а ты считающий себя профи не можешь это видите-ли из-за сильной занятости..

Вернёмся к нашим баранам. Так вот в схеме у нас: Post, Comment, Blog Controller, BlogService, PostRepository, BlogView - это всё классы, то есть это жёсткая архитектура, ну с точки зрения разработчика понятно, что и где и можно делать правки. Но эти классы взаимосвязаны жёстко, через объекты Post, Comment добавив ещё полей придётся переделывать и другие классы и тд. Это статичная жёсткая структура.

А как сделано у меня? А у меня нет жёсткой структуры нет классов для отдельных сущностей, есть класс работы с сущностями и данными из базы данных вот и всё. Я и разработчик на моём фреймворке в любое время может изменить любую сущность и работать с ней без жёстких взаимосвязанных классов и методов которые отвечают за ту или иную сущность.

Цитата Сообщение от Usaga Посмотреть сообщение
Единственный, кто видел твоё поделие - voral. И того, я смотрю, от увиденного штырит хорошо так. Как бы пристрелить не пришлось беднягу.
Вы в курсе что за такие высказывания уголовку могут завести?
Миниатюры
Предлагаю сотрудничество  
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
16.04.2024, 09:16  [ТС]
del
0
Эксперт .NET
 Аватар для Rius
13375 / 7830 / 1695
Регистрация: 25.05.2015
Сообщений: 23,831
Записей в блоге: 14
16.04.2024, 09:21
Цитата Сообщение от pgb Посмотреть сообщение
zzz
ZZZ!

Этот приём не работает, если в предыдущем посте есть вложения/рисунки.
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
16.04.2024, 09:39  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Этот приём не работает, если в предыдущем посте есть вложения/рисунки.
Я уж понял. Хотел подредактировать сообщение чуток, ну да ладно.

Добавлено через 13 минут
voral, И в такой структуре GRASP масса минусов от создания кучи классов, на которых тратится время и память, которые занимаются по сути одной задачей работой с той или иной сущностью и др. минусы. Единственный плюс для вас это разделение ответственности на разные классы.. по мне это наоборот очень жирный минус, ну для балбесов которые не умеют создавать полноценные программы, делить и властвовать в принципе допустимо. Я не заставляю никого делать как я, но и меня не надо заставлять делать как вы..
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
16.04.2024, 10:34
Цитата Сообщение от pgb Посмотреть сообщение
Вернёмся к нашим баранам. Так вот в схеме у нас: Post, Comment, Blog Controller, BlogService, PostRepository, BlogView - это всё классы, то есть это жёсткая архитектура, ну с точки зрения разработчика понятно, что и где и можно делать правки. Но эти классы взаимосвязаны жёстко, через объекты Post, Comment добавив ещё полей придётся переделывать и другие классы и тд. Это статичная жёсткая структура.
Еще раз почитай то, что я тебя просил изучить. И вообще статьи про архитектуру ПО. В этом твоем описании нет данных о степени жесткости. По этому описанию можно создать приложение с жесткими связями. а можно абсолютно гибкая, где любая часть заменяется вообще без переделок. Нарисуй UML диаграмму и вот тогда можно будет уже оценивать степень жесткости. Твоя проблема в том, что ты не читаешь учебники и пишешь полную хрень.

Цитата Сообщение от pgb Посмотреть сообщение
А у меня нет жёсткой структуры нет классов для отдельных сущностей, есть класс работы с сущностями и данными из базы данных вот и всё.
Окей. Я привел тебе кусок твоего кода. А теперь расскажи как заменить в нем какой либо класс на другую реализацию? К примеру реестр переменных. (На всякий случай - это просто пример первый попавшийся под руку). У тебя по всему коду одни жесткие связи.

Цитата Сообщение от pgb Посмотреть сообщение
Я и разработчик на моём фреймворке в любое время может изменить любую сущность и работать с ней без жёстких взаимосвязанных классов и методов которые отвечают за ту или иную сущность.
Ложь... Я тебе могу кучу твоего кода привести с жесткими связями.

Приложенная твоя схема - рисунок дилетанта. Это не схема. Это ты рисуночком выписал GRASP и не более. Если бы ты был разумнее: почитал бы о чем речь, и углубился, а не верхушку увидел. То просто сам бы понял на сколько глупы твое понимание гибкости. Просто осознай - твой код обладает слишком жесткими связями, в основном не оправданными. И вновь подтверждение твоей лжи: ты когда то писал, что знаешь что такое юнит тестирование. Так вот если бы знал (а главное умел бы пользоваться), то понимал бы на сколько все у тебя хреново с гибкостью.

Добавлено через 18 минут
Цитата Сообщение от pgb Посмотреть сообщение
voral, И в такой структуре GRASP масса минусов от создания кучи классов
Ты совершенно не понял о чем GRASP. Нет ни какой структуры GRASP. Прочитай все же про это не вики бегло по диагонали, а первоисточник. Иначе твои сообщения выдают в тебе полного дилетанта в вопросе.

Цитата Сообщение от pgb Посмотреть сообщение
балбесов которые не умеют создавать полноценные программы
Прежде чем оценивать кого то, ты сам то хоть что то законченное и работающее напиши. И это как самый минимум. Следующим этапом доживи до того, чтоб хотя бы несколько оценили твою работу.

У тебя же нет ни опыта, ни знаний. Да даже в знании конструкций языка у тебя пробелы. Иначе бы ты не написал вот такую строку
PHP
1
private final function __clone(){}
По ней видно ты не понимаешь назначения ни private ни final. Просто что то где то увидел и бездумно бахнул, чтоб выглядело "профессионально". но в силу того, что вообще не умеешь работать с новой информацией и не углубляешься в вопросы - раз за разом выдаешь в себе нуба. Причем как я уже говорил: чайником быть совсем не зазорно, и чайник задающий вопросы, изучающий - всегда вызывает уважение (даже если вопросы "глупы"), но вот ты не чайник, ты больше похож, на мой скромный взгляд, на ламера. в чем различие можешь почитать здесь

Добавлено через 12 минут
Цитата Сообщение от pgb Посмотреть сообщение
не заставляю никого делать как я, но и меня не надо заставлять делать как вы..
Всем абсолютно пофиг как делаешь ты. И заставлять ни кто не собирается. Это не мы служим посмешищем вот уже для второго (как минимум) форума обещая несколько лет что "вот вот уже практически завтра интернет взорвется". Увы это только умный бы человек сделал выводы, и осознал, что не просто так и на разные лады ему говорят практически одно и тоже разные люди.

"Ученье свет, а неученье тьма" - пока ты не поймешь о чем это, так и будешь откладывать релиз постоянно всегда и вызывать только усмешки, а не уважение.

Добавлено через 9 минут

Не по теме:


Цитата Сообщение от pgb Посмотреть сообщение
Вы в курсе что за такие высказывания уголовку могут завести?
С чего бы это? Я так понимаю ты и специалист в юриспруденции такой же крутой как и программист.
Какие условия еще должны быть выполнены?
(для понимания ситуации я два года служил в военной прокуратуре дознавателем - и "некоторое" представление по этой теме имею, хотя и не профи, конечно)

3
16.04.2024, 11:09

Не по теме:

Если бы voral не видел какого-то реального кода, я бы точно подумал что это очень жирный (и долгоиграющий) троллинг. Не встречал ещё таких людей.. voral, моё почтение за выдержку, у меня уже горит только от чтения, а ты ещё и адекватно стараешься общаться

0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,732
16.04.2024, 11:34
Цитата Сообщение от pgb Посмотреть сообщение
Вы в курсе что за такие высказывания уголовку могут завести?
По какой статье, если не секрет?
0
Модератор
 Аватар для D1973
9946 / 6481 / 2460
Регистрация: 21.01.2014
Сообщений: 27,464
Записей в блоге: 3
16.04.2024, 13:18
Usaga, был бы человек - а статья найдется! Суши сухари
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,732
16.04.2024, 13:25
D1973, закроют меня и не увижу я этот прекрасный, быстрый и надёжный фреймворк...
0
Модератор
 Аватар для D1973
9946 / 6481 / 2460
Регистрация: 21.01.2014
Сообщений: 27,464
Записей в блоге: 3
16.04.2024, 13:27
Цитата Сообщение от Usaga Посмотреть сообщение
и не увижу я этот прекрасный, быстрый и надёжный фреймворк...
Не переживай, к тому времени откинешься уже!
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
16.04.2024, 13:27
Цитата Сообщение от Usaga Посмотреть сообщение
D1973, закроют меня и не увижу я этот прекрасный, быстрый и надёжный фреймворк...
Ну чай не в штатах живешь (как я понимаю) - у нас на столько долгих сроков не дают
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
16.04.2024, 14:29
захожу в эту тему чисто комменты почитать))
на самом деле польза есть и она видна: вспомните (или найдите поиском) первые сообщения ТС, он не знал гита, юнит-тестов, паттернов, на всем спотыкался. Теперь знает, теперь и ГРАСПу научится, по сути форум обучает его тому, что он освоил бы работая, но он не профессионал и как у всех любителей есть пробелы провалы в знаниях. Так глядишь дорастет до джуна, пойдет работать, поймет как пишут приложения.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
16.04.2024, 14:44
Цитата Сообщение от Welemir1 Посмотреть сообщение
на самом деле польза есть и она видна
ой сложно сказать. Пока, скорее, можно сказать, что он теперь знает об их существовании... об остальном говорить рано


Невежество всегда обладает большею уверенностью, чем знание, и только невежды могут с уверенностью утверждать, что науки никогда не будут в состоянии решить ту или иную проблему.
Чарльз Дарвин
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
16.04.2024, 20:17  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Еще раз почитай то, что я тебя просил изучить. И вообще статьи про архитектуру ПО
Я тебе на пальцах практически показал пример схемы для блога по принципу разделения ответственности, всё разжевал, что фактически разные классы, а взаимосвязи у них жёсткие с высокой согласованностью через конкретные объекты постов и комментариев. Ты мне ничего не смог показать, а только занимаешься словоблудием как попугай повторяешь одно и тоже согласно методичкам из книг или статей..

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

По моему коду, релиза не было, я конечно говорю, что у меня инструмент лучше чем другие, но он не идеален пока ещё и есть конечно недочёты, что то писалось давно и может что-то тестил проверял, остались правки, что-то где то брал и тд. да есть такое, я один над ним работаю и всё в голове не держу, иногда сам когда через какое-то время смотрю и вижу подобные огрехи и переписываю код по другому.

А в моём фреймворке фактически нет жёстких связей. Класс узла собирает и отдаёт классы узлов и макеты компонентов, класс переменных хранит и передаёт переменные, класс аргументов так же, эти классы можно подключать в узлах при необходимости, так же и класс работы с файлами и прочее. Движок открывает и работает с инструкцией и базовыми классами. При создании сайта не нужно городить огород из других классов как при принципе разделения ответственности, всё можно делать через классы узлов с указаниями в xml инструкции. Который год вам пытаюсь объяснить, что мой инструмент не такой как остальные, иначе смысл мне его разрабатывать, если бы я делал как все, то у меня получился тот же Symfony, Laravel, Yii..

Я ни по одному вашему замечанию не говорил, что у меня лучше сделано, я задавал наводящие вопросы по тому зачем делать сериализацию, хотел посмотреть как нарисуете схему для блога где не будет жёстких связей. А в ответ получил только обвинения меня в том, что я ничего не понимаю и невежа.
Люди думающие, что всё дело в знании, подобны тем бабочкам, которые летят на свечки - сами погибают и затемняют свет..
Л. Толстой
Цитата Сообщение от Usaga Посмотреть сообщение
По какой статье, если не секрет?
Точно не скажу, что-то из этих ст.20.29 КоАП РФ, ст.280, ст.282 УК РФ, будьте поокуратнее, следите за базаром
Кликните здесь для просмотра всего текста
0
Эксперт .NET
 Аватар для Rius
13375 / 7830 / 1695
Регистрация: 25.05.2015
Сообщений: 23,831
Записей в блоге: 14
16.04.2024, 21:06
Цитата Сообщение от voral Посмотреть сообщение
Что самое смешное зачатки такой гибкости есть (в данном случае, но так не во всех классах).
Тайна раскрыта:
Цитата Сообщение от pgb Посмотреть сообщение
что-то где то брал
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,732
17.04.2024, 02:40
Цитата Сообщение от pgb Посмотреть сообщение
Точно не скажу, что-то из этих ст.20.29 КоАП РФ, ст.280, ст.282 УК РФ, будьте поокуратнее, следите за базаром
Ну раз "точно не скажу", то возбудать не надо было. Я смотрю, что ты ещё и юрист, в довесок к великому программисту.
0
3061 / 1463 / 265
Регистрация: 16.03.2008
Сообщений: 6,510
Записей в блоге: 2
17.04.2024, 08:12
Мдя... Т.е. прежде чем пытаться спорить вы таки и не хотите или не может изучить тему.... Что ж поехали.

Цитата Сообщение от pgb Посмотреть сообщение
Я тебе на пальцах практически показал пример схемы для блога по принципу разделения ответственности, всё разжевал, что фактически разные классы, а взаимосвязи у них жёсткие с высокой согласованностью через конкретные объекты постов и комментариев.
Вот именно, что на пальцах, а не как специалист. Ты привел список классов, но он вообще не показывает ни чего в плане обсуждения. Ты хотя бы в вики или в картинке, которую ты прикрепил, вчитайся внимательно в те два шаблона, на которые я сослался и которые имеют прямое отношение к нашему обсуждению. "Слабое зацепление" и "Сильная связанность". И если ты внимательно прочитаешь, и, главное, поймешь о чем там написано, то станет очевидно, что для оценки структуры в плане этих шаблонов (заметь оценки, а не "нарисовать по ГРАСП") необходимо видить как ты себе представляешь связи между перечисленными классами. И лишь тогда можно будет сказать: "вот эта схема имеет высокое зацпленние" и это плохо, а вот это имеет слабое - и это хорошо.

Т.е. эти приницпы для того, что б грамотно подходить к оценке при проектировании архитектуры. Тут речь не о том, чтобы потом гордится "я все сделал по ГРАСП", тут речь о том, что при проектировании системы есть критерии, которые способны показать на сколько код гибок, надежен и удобен в обслуживании.

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

Не по теме:


Крайне советую изучить построение uml диаграмм. Они есть разных видов, и многие, при проектировании такого класса ПО как у тебя задумано, крайне полезны. Очень советую пользоваться инструментом PlantUML (вот ссылка сразу на доку - для PHP Storm есть расширение - удобно в текстовом файле в определенном простейшем формате описываешь структуру и тут же в соседнем окне рисуется визуальное представление диаграммы




Цитата Сообщение от pgb Посмотреть сообщение
Ты мне ничего не смог показать, а только занимаешься словоблудием как попугай повторяешь одно и тоже согласно методичкам из книг или статей..
Уж кто бы говорил. Напомню если у тебя на столько дырявая память. Все свои замечания про твой код, я привожу с примерами из твоего кода и обосновываю. Ты же обосрал все остальные фреймворки, но не привел ни одного доказывающего листринга. Единственное, что привел перечень классов не обозначив связи. Но правда в том, что один из этих классов соорудит бешенный нерушимый клубок, который будет страшно трогать, второй построит очень гибкую и надежную систему.


Цитата Сообщение от pgb Посмотреть сообщение
Я невежественен?
Естественно. Согласно толковому словарю Ожегова невежественный человек это "Малообразованный, малокультурный, малосведущий." так же в других есть более точное для нашего обсуждения "малосведущий, не обладающий знаниями". Ты не читаешь (или не понимаешь) учебники по обсуждаемому предмету. Соответственно ты невежда.

Цитата Сообщение от pgb Посмотреть сообщение
По большей части это вы невежественны, так как нет критического мышления(а у кого нет критического мышления, те критины(это заболевание если что)). .
Критическое мышление это важно, но оно основывается на знаниях. На реальных, а не поверхостных. Все ваши рассуждения это не "критическое мышление", это мышление основанное на крайне поверхостных знаниях - и это очень видно. И вам бы было полезно применить (если бы могли) критическое мышление при анализе того, что вы делаете.

Цитата Сообщение от pgb Посмотреть сообщение
Вы наверно верите всему что пишут в книгах, газетах, показывают по ТВ, инфе из интернета и тд. Пора бы уже свои мозги научится включать и вникать в то что до вас пытаются донести.
И вновь вы показываете на сколько поверхостно вы относитесь к информации и строите свои суждения на них и своих догадках. Но догадки вы строите по себе. Например: Где сказано, что я принимаю все статьи что читаю? Более того,если бы читали внимательно то что вам пишут (ну или память у вас была не дырявая) то помнили, что я описывал уже ситуацию, что однажды пришел на проект где была заложена многослойная архитектура (и на тот момент я о ней достаточно много читал), но я со словами "с академической точки зрения все круто, но сложно все, много классов лишних" начал все переделывать на "более просто".. Но с течением времени, из реального опыта, я понял, что это все сильно упрощает и делает код надежнее. Т.е. начинаешь думать "как же мне тут делать" и понимаешь что ответ наука уже дала (вспоминаем цитату слов умного человека из прошлого моего сообщения про невежд)

Цитата Сообщение от pgb Посмотреть сообщение
А в моём фреймворке фактически нет жёстких связей. Класс узла собирает и отдаёт классы узлов и макеты компонентов, класс переменных хранит и передаёт переменные, класс аргументов так же, эти классы можно подключать в узлах при необходимости, так же и класс работы с файлами и прочее.
В этой фразе вы показываете что даже плохо понимаете то о чем вы говорите. Вы сейчас смешали в кучу совершенно разные вещи. Хотя, конечно, это все про гибкость.

Ваши классы узлов, компонентов этому есть аналог везде. На примере Битрикс:
Есть компоненты - это ближе всего к вашим узлам. они умеют при необходимости обращаться к данным, выполнять какие то действия по подготовке данных к выводу. Они имеют шаблоны (каждый может иметь сколько угодно шаблонов). И мне точно так же достаточно просто положить файлы компонента в определенный каталог и все - дальше я его могу использовать по всему сайту не задумываясь. При этом у вас "крайняя" точка это htm - т.е. внутри него (как я понял, вас тогда спрашивал, но вы толи не поняли, толи действительно нет такой возможности) , я не могу вложить еще узел (компонент). В битрикс таких ограничений нет. Я могу в шаблоне компонента (а шаблон это аналог вашего htm) вкладывать дургие компоненты. Точно так же и в других решениях. Включая, для примера, Vue и React

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


Цитата Сообщение от pgb Посмотреть сообщение
Движок открывает и работает с инструкцией и базовыми классами. При создании сайта не нужно городить огород из других классов как при принципе разделения ответственности, всё можно делать через классы узлов с указаниями в xml инструкции.
Это только вам так кажется, пока вы в реальности не почитали учебники и не изучили другие фреймворки.

Перейдем к коду (публикую минимально необходимый, ну и "первый попавшийся") вашего решения
PHP
1
2
3
4
5
6
7
8
9
10
class Engine
{
    /** @var Manual объект инструкций xml */
    private Manual $Mnls;
 
    function __Construct()
    {
        $this->Mnls = Lorry('Manual');// инструкциям
    }
}
Класс Engine имеет жесткую связь с классом Manual

Не по теме:


Тут еще демонстрируете и безграмотность с английским. Manual - это про "инструкция по эксплуатации". В данном же случае это скорее "directives" (и опытный программист полагаю бы применил именно второе, даже не зная английского)



Т.е. вам, если потребуется заменить этот класс обязательно потребуется изменить класс Engine. Хотя бы чтоб изменить тип свойства. Так же вам потребуется изменить функцию Lorry. Кстати о ней я и говорил, что зачатки расширяемости есть, т.е. по сути вы реализовали фабрику, но сделали это безграмотно, по этому эта точка расширения кастрированая.

А в реальности (привяжусь к конкретно этому классу и придумаю подходящий кейс): вот я как разработчик хочу на сервере разработки использовать другой класс Manual - который, например, ведет подробное логирование происходящего, на сервере тестированние - еще один, который собирает некоторые метрики, ну а на боевом уже основной, чистый от вспомогательного кода.... Ну и, для примера докинем, на сервере разработки у меня есть еще один класс - у меня возникла гипотеза и я ее хочу проверить. Так вот в вашем случае вы ни чего с этим не сделаете: только редактировать.

А теперь как это выглядело бы в симфони, например.

PHP
1
2
3
4
5
class Engine {
   public function _constructor(
       private DirectivesInterface $directive
   ){};
}
Все и править только конфигурационный файл. Т.е. были бы у меня классы Manual, TestingDirectives, DebugDirectives, и я бы просто за счет конфига их переключал. При этом (я для демонстрации так же убрал из класса одиночество) в моем коде даже ни где бы не встречалось строки $engine = new Engine(...) в которой бы я был бы обязан принимать решение какой класс использовать.

И таких привязок жестких у вас в коде пруд пруди.


Цитата Сообщение от pgb Посмотреть сообщение
Который год вам пытаюсь объяснить, что мой инструмент не такой как остальные, иначе смысл мне его разрабатывать, если бы я делал как все, то у меня получился тот же Symfony, Laravel, Yii..
1 То что он другой это и так понятно.
2 Это три разных фреймворка. Почему то у разработчиков получилось сделать разные инструменты
3 Самое главное отличие. Разработчики тех фреймворков изучали буквари и имеют опыт реальной работы


Цитата Сообщение от pgb Посмотреть сообщение
Я ни по одному вашему замечанию не говорил, что у меня лучше сделано, я задавал наводящие вопросы по тому зачем делать сериализацию, хотел посмотреть как нарисуете схему для блога где не будет жёстких связей.
Повторюсь, вы ленитесь углубляться в вопросы. Какой смысл мне тратить время (а я потратил очень много времни на ваш проект) если вы гарантировано не поймете, что там? Это уже же очевидно, вы уже узнали про ГРАСП, но так и не поняли о чем речь.


По поводу сериализации, это еще одна ваша проблема. ВЫ не улавливаете осовную мысль того, что вам говорят.
Мы говорили про паттерн одиночки. Его назначение: не дать программисту случайно сделать копию, чтоб не надо было в голове держать, что вот этот вот объект нельзя вторую копию создавать. Если полагать, что программист всегда это помнит, то этот трейт нафиг не нужен. А если уж решили его делать - надо прикрывать все возможности создания второй копии.

А то странно получается: клонирование вы закрыли и это у вас не вызвало вопросов, а вот десериализацию вы не прикрыли, а необходимость ее прикрыть вы пытаетесь выяснить... Не понятно совершенно зачем. Из ваших вопросов, складывается такое ощущение, что у вас логика: "в сериализации/десериализации одиночки нет смысла - значит не делаем"... но клонирование прикрыли - это типа вы нашли смысл клонирования одиночки?

Т.е. поймите уже первый вопрос :для чего нужен этот трейт, если он нужен - то делать его необходимо полноценно, иначе это становится полумера и на грабли однажды можно наступить. Единственная разница: клонирование тут без вариантов блокируем . т.е. делаем private. А вот десериализацию (точнее сопутствующий ей метод) можно сделать protected. чтобы в необходимых случаях реализовать логику восстановления одиночки после сериализации ).. при этом программист-пользователь этого класса уже гарантировано не сделает второго экземпляра.


Наполеон:
Невежда имеет большое преимущество перед человеком образованным: он всегда доволен собой.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2024, 08:12

Предлагаю подорвать движок трекера в месте
Привет всем Я собираюсь открыть проект название YT В общем это движок торрент трекера, вы так же можете установить демо движка ...

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

Предлагаю сотрудничество!
Ищу партнёра для продажи спортивных прогнозов на сайте. С вас создание самого сайта и дальнейшее его администрирование, с меня всё...

Предлагаю сотрудничество програмистам.
Имею идею стартапа службы такси. Предлагаю партнёрство програмистам имеющим желание и возможность создания комплекса программ для...

Предлагаю сотрудничество JS программисту
Здравствуйте. Я фрилансер и в основном программирую на php, немного на JS. Также занимаюсь версткой. Ищу JS программиста (можно и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru