Ответы пользователя по тегу ООП
  • Как правильно спроектировать классы?

    edli007
    @edli007
    full stack, team lead
    А как ты это планируешь использовать?
    Понятное дело эти классы только реализация, а Работники и Компании хранятся в бд.
    Так что напрямую эти классы вообще могут быть не связаны, ты делаешь запрос по какому-то ид, в какое-то хранилище. Хранилищем может выступать даже массив, где ключи это ид, а вот данные уже обернуты в класс. В данном случае класс модели, так как именно модель отвечает за работу с данными.
    Ответ написан
    Комментировать
  • С точки зрения парадигмы ООП какие объекты следует выделить в программе калькулятор?

    edli007
    @edli007
    full stack, team lead
    Это вопрос больше философский и зависит от виденья структуры вашей программы.
    Можно сделать например только каркас MVC, где будет два M,
    - Где первый будет валидировать данные
    - а второй производить базовые арифметические расчеты.
    C будет осуществлять общую логику приложения а V итак понятно.
    Итого 4 класса.

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

    И при этом, эти классы могут содержать другие классы, например история изменений может быть отдельным классом.

    Добавить сюда также абстрактные классы.

    Исходя со всего этого, выходит что классы могут встречаться на не ограничено малой величине логики, а классы отвечающие за "большие структуры", зависят от виденья структуры приложения самим программистом.
    Ответ написан
    Комментировать
  • Зачем нужны абстрактные классы (PHP)?

    edli007
    @edli007
    full stack, team lead
    Ну про общее назначение тут все написали, однако есть еще нюанс называемый "позднее статическое связывание", что оно такое почитайте, много букв объяснять, но весьма важный нюанс в использовании абстрактных классов.
    Ответ написан
    Комментировать
  • Как сделать чтоб мячик отбивался от кнопки?

    edli007
    @edli007
    full stack, team lead
    Ответ написан
    Комментировать
  • Паттерн Singleton в чём разница?

    edli007
    @edli007
    full stack, team lead
    а вот mysqli_connect это переходная функция, созданная для говнокодеров, все еще не переведших свой сайт на PDO или для людей которые не могут это сделать по вине заказчика.

    $db в данном случае не синглетон, так как синглетон должен обеспечить одну точку входа и один объект, а у вас
    1. Вообще не объект и даже не ооп, из этого выплывает
    1.1. Точка входа как таковая отсутствует, вы сначала создаете переменную и и дальше используете ее... как переменную.
    1.2. Ваша переменная не защищена от изменений и может быть перезаписана в любой момент времени
    1.3. Для доступа к переменной из любой точки кода, ее приодеться вывести в глобальную область видимости, в синглетоне это решается на уровне видимости классов

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

    И все это внутри самой переменной, что ведет нас к тому, что это должно быть сделано на ооп, так как такого функционала, для отслеживания первого обращения к переменной, в пхп просто нет.
    Ответ написан
  • Статические свойства класса в PHP?

    edli007
    @edli007
    full stack, team lead
    Видно вы не работали с паттернами. Суть статики что такое свойство будет общим на все объекты данного класса.
    Прочтите о синглетоне, через пару дней, как разберетесь, все вопросы отпадут.
    Ответ написан
    Комментировать