[GoF] Bridge 패턴 : 기능 계층과 구현 계층을 나눈다 [기능의 클래스 계층과 구현의 클래스 계층을 연결하는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Bridge 패턴 : 기능 계층과 구현 계층을 나눈다 Bridge 패턴은 '기능의 클래스 계층'과 '구현의 클래스 계층'이라는 두 개의 독립된 클래스 계층을 나누고, 두 계층을 연결하는 패턴이다. 계층을 분리해두면 각각의 클래스 계층을 독립적으로 확장할 수 있다. - 어떤 경우에 사용할까? Bridge 패턴의 특징은 '기능의 클래스 계층'과 '구현의 클래스 계층'을 분리하는 것이다. 기능을 추가하고 싶으면 기능의 클래스 계층에 클래스를 추가하면 되고, 구현의 클래스 계층은 전혀 수정할 필요가 없어진다. - 예제 코드 다리의 어느 쪽인가? 이름 설명 기능의 클래스 계층 Display '표시한다' 클래스 기능의 클래스 계층 CountDisplay '지정 횟수만큼 표시한다' 기능을 추가한 클래스 구현의 클..
[Spring] @Autowired 옵션 처리 방법 [주입할 스프링 빈이 없어도 동작해야 할 때]
·
▣ Framework/Spring🍃
- 주입할 스프링 빈이 없어도 동작해야 할 때 주입할 스프링 빈이 없어도 동작해야 할 때가 있다. 자동 주입 대상이 없는 상태로 @Autowired만 사용하면 required의 기본값이 true라 오류가 발생한다. - @Autowired 옵션 처리 방법 @Autowired(required=false) : 자동 주입할 대상이 없으면 수정자 메서드 자체가 호출 안됨 @Nullable : 자동 주입할 대상이 없으면 null이 입력됨 Optional : 자동 주입할 대상이 없으면 Optional.empty 가 입력됨 //호출 안됨 @Autowired(required = false) public void setNoBean1(Member member) { System.out.println("setNoBean1 = ..
[cmd] 명령프롬프트(cmd)로 자바 컴파일 시 인코딩 깨짐 해결방법 [javac 명령어 인코딩 깨질 때]
·
▣ OS : 운영체제/cmd : 명령프롬프트💻
- 자바 컴파일 시 인코딩 깨짐 해결방법 javac를 이용해서 컴파일 하다보면 한글문자가 깨지는 경우가 있다. cmd 에러로그에서 볼 수 있듯, cmd에서 읽어들이는 인코딩은 x-windows-949인데, 컴파일 하려는 java 파일의 인코딩은 UTF-8이여서 인코딩이 깨진 상황이다. - 해결방법 javac 명령어에 인코딩 옵션을 넣어주면 된다. javac -encoding utf-8 파일명.java
[GoF] Builder 패턴 : 복잡한 인스턴스를 조립한다 [구조를 가진 인스턴스를 만들어 가는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Builder 패턴 : 복잡한 인스턴스를 조립한다 Builder 패턴은 구조를 가진 인스턴스를 만들어 가는 패턴으로, 뼈대를 만들고 아래에서 위로 만들어 간다. - 어떤 경우에 사용할까? Builder 패턴은 구체적인 하위 클래스를 모른다는 게 큰 장점이다. 모르기 때문에 교체가 가능하고, 교체되기 때문에 부품으로서의 가치가 높다. 클래스 설계자는 '교체 가능성'을 항상 염두에 둘 필요가 있다. - 예제 코드 이름 설명 Builder 문서를 구성하기 위한 메서드를 규정한 추상 클래스 Director 하나의 문서를 만드는 클래스 TextBuilder 텍스트(일반 문자열)를 이용하여 문서를 만드는 클래스 HTMLBuilder HTML 파일을 이용하여 문서를 만드는 클래스 Main 동작 테스트용 클래스 -..
[일상] University of California San Diego - Object Oriented Programming in Java 강좌 수료 [Coursera x K-MOOC]
·
◐ 기타/개발자의 일상🎈
- Object Oriented Programming in Java 강좌 수료 Coursera x K-MOOC에서 제공한 캘리포니아대학교 샌디에고에서 Object Oriented Programming in Java를 수강하였다. 객체지향과 상속의 개념에 대해 중점적으로 공부하였다. Java의 객체 지향 프로그래밍 University of California San Diego에서 제공합니다. Welcome to our course on Object Oriented Programming in Java using data visualization. People come to ... 무료로 등록하십시오. www.coursera.org 강의를 들으면서 Java Applet으로 다양한 모듈도 만들어보았고, 과제를 ..