Есть такой сценарий: при разработке сложной системы вы обнаруживаете, что функции некоторых классов становятся все более и более сложными, иерархия классов становится все более хаотичной, и становится очень сложно добавить новую функцию или модифицировать старая функция каждый раз. Вы начинаете задаваться вопросом, что не так с вашим дизайном, и хотите ли вы перепроектировать систему/функцию? Однако редизайн требует больших затрат времени и усилий, а также может принести новые проблемы. Ты не можешь не вздохнуть: слишком~ тяжело~~~

Если вы столкнулись с такой проблемой, то, поздравляем, есть эффективный способ помочь вам решить такого рода проблему, которым мы сегодня и поделимся — режим моста.

Режим когнитивного моста

Шаблон моста — это очень мощный шаблон проектирования, структурный шаблон проектирования, который можно просто представить как мост, соединяющий «две стороны».

Шаблон моста Вы можете разбить большой сложный класс или иерархию классов на две отдельные части: абстрактную часть и реальную часть. Преимущество этого заключается в том, что эти две части могут быть изменены и расширены независимо друг от друга, не затрагивая друг друга. Это как строить недвижимость на отдельных блоках «с двух сторон». Вы можете построить небоскреб с одной стороны и коттедж с соломенной крышей с другой. Есть ли между ними влияние? Нет, их можно изменять и расширять независимо, не затрагивая друг друга.

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

Компоненты режима моста

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

Абстрактная часть

Абстрактная часть — это абстрактный класс в шаблоне моста, который определяет некоторые основные свойства и свойства. Эти методы и свойства включают некоторые основные функции в нашей системе, например, в графическом редакторе, у нас могут быть основные функции, такие как рисование линий, рисование кругов, заливка цветом и т. д.

Однако может быть много конкретных реализаций этих функций, например, линии рисования могут быть сплошными линиями…