자바

    [Design Pattern] 구조 패턴 - 퍼사드 패턴

    github 코드 https://github.com/yaini/Spring_Study/tree/spring-3-design-pattern-structural/design-pattern/src/main/java/structural Facade 건물의 출입구로 이용되는 정면 외벽 부분 즉, 건물 안쪽은 복잡할지라도 사용자는 건물의 정면만 볼 수 있도록 해준다는 뜻이다. 퍼사드 패턴 클래스 라이브러리와 같은 어떤 소프트웨어의 커다란 코드 부분에 대한 간략화된 인터페이스를 제공한다. 소프트웨어 라이브러리를 쉽게 사용할 수 있게 해준다. 라이브러리의 세부 코드에 의존하는 일을 감소시켜 준다. 전체 코드 public class Facade { public static void main(String[] args) {..

    [Design Pattern] 구조 패턴 - 브리지 패턴

    github 코드 https://github.com/yaini/Spring_Study/tree/spring-3-design-pattern-structural/design-pattern/src/main/java/structural 브리지 패턴 구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게 하는 패턴 기능과 구현에 대해 두 개의 별도의 클래스로 구현 구현부는 객체에서 동작을 처리하기 위해, 추상부는 확장을 위해 존재한다. 어댑터 패턴이 추가 요구사항을 위해 기능을 추가하는 반면 브리지 패턴은 설계 진행 중에 의도적으로 레이어를 분리시킨다. Abstraction: 기능 계층의 추상 인터페이스 RefindAbstraction: Abstraction을 상속하여 기능을 제공하는 클래스 Implemen..

    [Design Pattern] 구조 패턴 - 어댑터 패턴

    github 코드 https://github.com/yaini/Spring_Study/tree/spring-3-design-pattern-structural/design-pattern/src/main/java/structural 어댑터 다른 전기나 기계 장치를 서로 연결해서 작동할 수 있도록 만들어 주는 도구 어댑터 패턴 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴 호환성이 없는 인터페이스를 함께 동작할 수 있도록 만들어 준다. 또한 기존 클래스의 소스코드를 수정하지 않고 기존 인터페이스에 맞춰서 동작이 가능하도록 한다는 장점이 있다. 객체 어댑터 class CardObjectAdapter implements Card{ TrafficCard trafficCard; public ..