Обзор
Мост -режим Структурная модель, которая в основном имеет дело: Из -за фактических потребностей класс имеет два или более размерных изменений. Если наследство просто используется, эта потребность не будет достигнута, или дизайн становится довольно раздутой.
Режим моста состоит в том, чтобы абстрагировать изменяющиеся детали, отделить изменяющиеся части от основного класса, тем самым полностью разделяя изменения в нескольких измерениях. Наконец, класс управления предоставляется для объединения изменений в разных измерениях, и эта комбинация используется для удовлетворения потребностей бизнеса.
Структурная диаграмма UML
Пример кода
интервью с пакетом; интерфейс inleplor {void OperationImpl ();} Abstract Class Abstract {Protected Revelipor Inreptor; Public Abstract (Inreplor Inreporor) {this.Implementor = infulor; } public void Operation () {infulor.OperationImpl (); }} class concreteImplementora реализует refulor {@Override public void anpormationImpl () {System.out.println ("Специальная реализация A"); }} class concreteImplementorb реализует infulor {@Override public void anpormationImpl () {System.out.println ("Специальная реализация B"); }} класс RefinedAbStraction Extends Abstract {public RefinedAbStraction (реализатор refelloor) {super (реализация); } public void orethoperation () {System.out.println ("Другие операции"); }} public Class MainTest {public static void main (string arg []) {infulor infulor = new ConcreteImplementora (); Refinedabstraction advatraction = new RefinedabStraction (Inreptor); Abstraction.operation (); abstraction.otheroperation (); }}Используйте сценарии
1. Если вы не хотите применять фиксированные отношения привязки в частях абстракции и реализации, вы можете использовать режим моста для разделения абстракции и частей реализации, а затем динамически установить конкретные реализации, необходимые для абстракции во время операции программы, и вы также можете динамически переключать конкретные реализации.
2. Если как абстрактная часть, так и часть реализации должны быть расширены, можно использовать режим моста, чтобы абстрактная часть и часть реализации могли быть изменены независимо, чтобы расширение могло быть гибко расширено отдельно, а не перемешивание. Одна сторона расширения может повлиять на другую сторону.
3. Если вы хотите внедрить частичные модификации, это не повлияет на клиента. Вы можете использовать режим моста. Клиент управляет абстрактным интерфейсом. Модификации частичного могут быть независимыми от абстрактной части, и это не повлияет на клиента. Также можно сказать, что он прозрачен для клиента.
4. Если будет принята унаследованная схема реализации, будет получено много подклассов. Для этого случая вы можете рассмотреть возможность использования режима моста для анализа причин, по которым изменения в функциях, чтобы увидеть, можно ли их разделить на разные измерения, а затем разделить их через режим моста, чтобы уменьшить количество подклассов.
Если система должна добавить большую гибкость между построенными абстрактными и конкретными ролями, избегайте создания статических соединений между двумя уровнями.
Как абстрактные персонажи, так и конкретные символы должны быть в состоянии быть подкрасным. В этом случае рисунок моста может гибко сочетать различные абстрактные и конкретные роли и расширяться независимо.
Любые изменения в дизайне требуют, чтобы роль реализации не должна была влиять на клиента или чтобы изменения роли реализации были полностью прозрачны для клиента.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.