Кирилл Несмеянов, фасад - это когда снаружи кто-то обращается к методу фреймворка (не зная ничего о его внутреннем устройстве). В данном случае это не фасад. Классы, которые обращаются к главному классу - это тоже часть фреймворка и они "знают" о свойствах фреймворка в которых нужно вызывать методы. Это называется медиатор (посредник). Получается, что главный класс одновременно является фасадом (для того, чтобы предоставлять API для использования фреймворка) и медиатором (для того, чтобы подружить все классы друг с другом без тесной связи - методы фреймворка всегда можно переписать).
По вашей ссылке вообще никаких примеров нет, три строчки элементарного кода, который вообще никак с архитектурой не связан. Второй уже ответ от вас бесполезный. Ещё раз повторюсь - вопрос был именно в реализации. То что вы пишите что реализаций может 100500 - это бред. В данном конкретном случае правильная реализация только одна и я её описал.
Александр, before для градиентной обводки, after для заливки фона. Градиенты не поддерживают транзиент в CSS, поэтому чтобы сделать появление фона (например, при ховере) плавным, нужно управлять opacity. - Это первая причина. Вторая причина - уровни переопределения кнопки, чтобы можно было выбрать подходящий дизайн.
Андрей, у меня есть книги автора и я всё это читал, проблема в реализации. Как это должно работать я понимаю, я не понимаю как это реализовать конкретно на PHP.
Головной класс должен быть одновременно и фасадом и медиатором (посредником).
Понял, что нужно использовать паттерн посредник (медиатор) и описать в классе посредника все методы, которые будут использоваться другими классами. Но сейчас часть таких методов определены в классе фреймворк, не совсем понятно как отделить фреймворк от посредника и нужно ли это делать? или класс фреймворк будет являться фасадом и посредником одновременно (всё в куче)?
Дак класс настроек запрашивает настройки ровно 1 раз из конструктора при создании экземпляра из класса framework. Далее компоненты только читают переменную из памяти с настройками (через метод get_setting этого класса).
Не совсем понятно, что должно являться реализацией интерфейса? Чем плохо передавать объект фреймворка в каждый экземпляр класса, который реализует те или иные функции приложения?
webdev341, когда sass linter ругается на то, что нужно вложить правила в один селектор. Ну и чисто эстетически разделять правила, которые относятся к одному селектору не очень правильно
tyzberd, я правильно понимаю, что я могу присвоить классы animated, invisible, slideInUp элементу сразу же и убирать класс invisible как только сработает событие по скроллу? Этого достаточно чтобы анимация запустилась?
Не понятно, как именно "запускать" анимацию. Например, у меня есть элемент с классами animate и fade, что нужно сделать, чтобы запустить анимацию на нём?
JRK_DV, здравствуйте, да, спасибо, уже понял свою ошибку. Сделал через document.createDocumentFragment() и всё заработало очень шустро даже без дебаунседа.
По вашей ссылке вообще никаких примеров нет, три строчки элементарного кода, который вообще никак с архитектурой не связан. Второй уже ответ от вас бесполезный. Ещё раз повторюсь - вопрос был именно в реализации. То что вы пишите что реализаций может 100500 - это бред. В данном конкретном случае правильная реализация только одна и я её описал.