Видео: ООП в JavaScript. Основы объектно ориентированного подхода. Объекты, классы, наследование. 2025
Методы, ориентированные на объекты (OO), основаны на принципе, согласно которому подобные обязанности и проблемы могут быть объединены вместе и инкапсулированы в один объект - такой как класс. Однако некоторые обязанности не могут быть инкапсулированы с использованием стандартных методов, доступных на языках OO. Эти обязанности называются сквозными проблемами, поскольку они «пересекают» несколько частей программы. Ведение журналов является такой сквозной проблемой, потому что вы должны внедрять протоколирование в каждой части системы. Тем не менее, единственный способ убедиться, что каждый системный компонент регистрируется сам и стандартным образом - это вручную вставить код, где это необходимо.
Инструменты аспектно-ориентированного программирования (AOP) позволяют вам указать в одном месте вашей программы , как вы планируете решать проблему с перекрестными ссылками. Затем инструменты генерируют реализацию и вставляют ее во все необходимые места в вашем коде.
В следующем примере показано использование АОП в реализации стека.
аспект AddLogging {- push (ItemType * item) {AddLogging. info (@ «Pushing item», item)} - (ItemType *) pop {AddLogging. Info (@ "Popping item", returnItem);} // Другой код сквозной передачи.}
