С таким отношением вам не стать программистом. Вообще никем не стать. Так и будете сидеть у стеночки и стонать "я не смогу".
Вот я и пытаюсь разобраться как составить логику используя ООП. и хотелось бы чтобы она не уступала функциональном варианту. Потому, что у меня функция перебирает два массива, один из котрых многомерный. И возвращает одномерный, где ключ это id задания, а значение id пользователя. И делает она это очень быстро... Но проблема в том, что если я хочу доработать эту мою функцию, или несколько. Я могу обернуть это дело в класс,и творить свое "мракобесие"... только через месяц я забуду как оно работает, и чтобы внести изменения придется, все вспоминать. А в ООП можно сделать, а потом унаследовать и дополнить, но видимо заплатишь ты тем, что вот так просто эту задачу не решить (как я понял). Тут алгоритм скажем так, станет больше, и станет более "дубовый". Либо я не понимаю как организовать такой же алгоритм используя нормальные классы (а не мои объединения функций), либо так сделать и правда нельзя.
Откуда вообще "растут ноги", есть некоторое WEB-приложение, которое я использую в своих целях:
- Регистрация сотрудников
- Создание конфигурации устройств (пользователями)
- Вывод описания устройства по конфигурации в PDF
- Учет браков
- Склад (даже с партиями)
- И планируется сделать еще возможность создавать списки - комплектации, которые будут собирать компоненты (а там есть аналоги и разные партии) для плат. Со склада это все вычитается, а устройство изготовленное поступает на склад.
- И собственно распределение задач между сотрудниками осуществляется на разных стадиях, сборка комплектации, пайка, тестирование узла, тестирование объединения узлов, упаковка продукта.
- Еще графики там всякие выводятся, кпд сотрудников и т.д. Да и иногда, кто-то какой-нибудь элемент сломает, много там нюансов... Там даже есть валюты, курсы и компоненты сделанные в России имеют цену в рублях, а зарубежные в $ евро, и все это пересчитывается. Да, и много чего еще там происходит в моем это "мракобесии" (слово в точку - нравится).
Изначально это была "лапша" (надо сказать что склада не было на это стадии), потом разбил на функции, разложил по разным файлам функции используемые для разных операций. Подключаю эти наборы взаимозависимости от того в каком интерфейсе работает пользователь. Например, если распределяются задачи, файл с функциями для работы со складом не подключается.
Как бы сейчас это похоже на несколько отдельных веб-приложений, доступ к которым раздает index.php. Так же в каждом приложении свой роутер. Точка входа только index.php, который раздает доступ к приложениям (остальное само по себе не запускается - die. Вьювер один, "разворачивает" многомерный массив, и строит страницу заполняя данными. Тип тега, его класс, его содержание. Если содержание массив, значит внутри есть еще теги и происходит рекурсия)) Сам массив тоже создается функцией, которая получает только данные и тип страницы, которую надо вывести. Если такого типа страницы нет, то собирается страница на усмотрение алгоритма, но этот алгоритм отдельная функция. Тема сделана на Bootstrap. Вьювер вообщем имеет приложение с ним связанное, которое умеет его настраивать. Парсит папку css и можно создать новые типы страниц используя свои классы CSS - скелеты страниц.
К слову класс, который создает PDF, он вообщем то очень похож на мое объединение функций... Создал объект набил его параметрами, получил PDF документ.
Сейчас решил, что стоит как-то это все переделать в стиле ООП. Хочу понять как... Очень поздно, я это решил делать, но все же. Да можно и не переделывать, можно переписать все заново, все равно кризис - времени свободного стало больше...
Представлял ООП, как совокупность классов, которые представляют из себя отдельные модули, которые я использую когда мне это нужно... Но тут нужно оперировать объектами. Но как начать мыслить объектами тайна покрытая мраком.
П.С.
Желание избавить от мракобесия огромное))