Bridge

7/10/2021 OOPPattern

# Description

Bridge is a structural design pattern that divides business logic or huge class into separate class hierarchies that can be developed independently.

  • Tách phần abstraction (structural) với phần implementation(xử lí business logic).

# Example

Từ example của Abstract Factory, class Page update theo Bridge pattern

class Page
{
    protected PageRenderer $pageRenderer;

    public function __construct(PageRenderer $pageRenderer)
    {
        $this->pageRenderer = $pageRenderer;
    }

    public function render($arguments)
    {
        return $this->pageRenderer->render($arguments);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Tách phần implement render sang class PageRenderer.