Ваш прецедент, кажется идеальным для CardLayout .
В макете карты вы можете добавить несколько панелей в одном и том же месте, но затем показать или скрыть, по одной панели за раз .
Это нормально для использования?
blockquote>Нет, здесь нельзя использовать
class
вообще. Классы нужны только в том случае, если у вас есть несколько экземпляров с общими методами и другой конфигурацией или изменяемым состоянием. Для того, что вы показали в своем вопросе, достаточно простого объекта:const rayTechniques = { manager: { FRT() { … //Shoot lines in stage entry }, BRT() { … //Shoot lines in stage entry (different algorithm) } }, hide_show_repeat() { … //hide, show, repeat each stage } };
Единственным отличием будет то, что вы не можете переназначить Ray_Techniques
другому значению, поскольку оно определено как const
. Класс, определенный как class Ray_Techiques {}
, позволит вам переназначить имя класса Ray_Techniques
на что-то другое.
Из MDN :
Объявление const создает доступную только для чтения ссылку на значение. Это не означает, что значение, которое оно содержит, является неизменным, просто то, что идентификатор переменной не может быть переназначен. Например, в случае, когда содержимое является объектом, это означает, что содержимое объекта (например, его свойства) может быть изменено.
blockquote>По моему мнению, объявление
const
снижает читабельность кода по сравнению с именованным классом.