전체 글

Template Method 패턴에서 상위 클래스에서 처리의 뼈대를 만들고, 하위 클래스 에서 구체적인 살을 붙였다. 이 패턴을 인스턴스 생성 장면에 적용한 것이 이번에 배울 Factory Method 패턴이다. Factory Method 패턴에서는 인스턴스 생성 방법을 상위 클래스에서 결정하되, 구체적인 클래스 이름까지는 결정하지 않는다. 구체적인 살은 모두 하위 클래스에서 붙인다. 인스턴스 생성을 위한 뼈대(프레임워크)와 실제 인스턴스를 생성하는 클래스를 나누어 생각할 수 있다. 인스턴스를 생성하는 공장을 Template Method 패턴으로 구성한 것이 Factory Method 패턴이다. 신분증 카드(ID카드)를 만드는 공장 예제 패키지 이름 설명 framework Product 추상 메서드 us..
Template Method 패턴이란? 템플릿 기능을 가진 패턴으로 상위 클래스 쪽에 템플릿이 될 메서드가 정의되어 있고, 그 메서드 정의에 추상 메서드가 사용된다. 상위 클래스의 코드만 봐서는 최종적으로 어떻게 처리되는지 알 수 없다. 상위 클래스로 알 수 있는 것은 추상 메서드를 호출하는 방법 뿐이다. 템플릿이란 ? 문자 모양대로 구멍이 난 얆은 플라스틱 판으로 펜으로 그 구멍을 따라 그리면 손으로도 반듯하게 글씨를 쓸 수 있다. 어떤 형태의 문자인지는 템플릿을 보면 알 수 있지만 어떤 필기도구로 쓰냐에 따라서 색이 다를 수 있고 연필, 펜등 종류가 다를 수 있다. 추상 메서드를 실제로 구현하는 것은 하위 클래스이다. 하위 클래스에서 메서드를 구현하면 구체적인 처리 방식이 정해진다. 다른 하위 클래스..
Adapter 패턴은 Wrapper 패턴이라고 불리기도 한다. 일반 상품을 깨끗한 포장지로 싸서 선물용 상품으로 만드는 것처럼, 무엇인가 포장해서 다른 용도로 사용할 수 있도록 변환해 주는 것이 래퍼이자 어댑터이다. DC 12V로 동작하는 노트북을 AC 100V 전원에 연결할 때 변환을 하기위해 AC 어댑터를 사용한다. 제공된 것과 필요한 것 사이에 들어가서 그 사이를 채우는 것이 Adapter의 역활이다. ‘이미 제공된 것’과 ‘필요한 것’ 사이의 차이를 메우는 디자인 패턴을 Adapter패턴 이라고 한다. 제공된 코드를 그대로 사용하지 못할 때 필요한 형태로 변환이 필요할 때 2가지 Adapter 패턴 -클래스에 의한 Adapter 패턴(상속을 사용한 패턴) -인스턴스에 의한 Adapter 패턴(위임..
view는 테이블과 같은 부류의 데이터베이스 객체 중 하나이다. 뷰(VIEW) FROM 구에 기술된 서브쿼리에 이름을 붙이고 데이터베이스 객체화하여 쓰기 쉽게 한 것을 뷰라고 한다. 데이터베이스 객체란 테이블이나, 인덱스, 뷰 등 데이터베이스 안에 정의하는 모든 것을 말한다. SELECT은 명령에 이름을 지정할 수도 없고 데이터베이스에 등록되지도 않기 때문에 객체가 아니다. 본래 데이터베이스 객체로 등록할 수 없는 SELECT 명령을, 객체로서 이름을 붙여 관리할 수 있도록 한 것이 뷰이다. SELECT 명령은 실행했을 때 테이블에 저장된 데이터를 결괏값으로 반환한다. 뷰를 참조하면 그에 정의된 SELECT 명령의 실행결과를 테이블처럼 사용할 수 있다. 뷰는 SELECT 명령을 기록하는 데이터베이스 객체..
서브쿼리의 일종인 ‘상관 서브쿼리’를 EXISTS 술어로 조합시켜서 서브쿼리를 사용하는 방법 EXISTS (SELECT명령) EXISTS 술어를 사용하면 서브쿼리가 반환하는 결괏값이 있는지를 조사할 수 있다. EXISTS를 사용하는 경우에는 서브쿼리가 반드시 스칼라 값을 반환할 필요 없다. EXISTS는 단지 반환된 행이 있는지를 확인해보고 값이 있으면 true, 없으면 false를 반환하므로 어떤 패턴이라도 상관없다. EXISTS 서브쿼리를 이용해 검색할 때 ‘데이터가 존재하는지 아닌지’ 판별하기 위해서 조건을 지정할 때 사용할 수 있다. SELECT * FROM sample551; no a (char) 1 null 2 null 3 null 4 null 5 null SELECT * FROM sample..
uhanuu
몸뚱아리부터 마음가짐까지