본문 바로가기

Solid3

[Design Pattern] 팩토리 패턴 이번 포스팅으로 알아볼 디자인 패턴은 팩토리 패턴이다. 설명하기에 앞서 팩토리 패턴에 관하여 간단하게 설명하자면 공통된 종류를 갖는 객체들의 구현을 몰라도 팩토리 패턴을 통해 쉽게 생성하는 것을 말한다. 그렇다면 본격적으로 코드와 함께 알아보자. DB 클래스들과 함께 팩토리 패턴에 접근하려 한다. DIP(의존성 역전 원칙)에 의거하여 DB 인터페이스와 MariaDB, OracleDB를 생성해보자. DB public interface DB { public int execute(String sql); public void setUrl(String url); } MariaDB public class MariaDB implements DB { private String url; // 쿼리 실행 메서드 publi.. 2024. 4. 4.
[Design Pattern] 탬플릿 메서드 패턴 이번 포스팅에서는 디자인 패턴 중 하나인 템플릿 메서드 패턴에 관해 알아본다. 우선, 템플릿 메서드 패턴을 알아보기 위해 App, Teacher 클래스를 생성한다. Teacher public class Teacher { private void 입장하기(){ System.out.println("입장하기"); } private void 출석부르기(){ System.out.println("출석부르기"); } private void 퇴장하기(){ System.out.println("퇴장하기"); } public void 수업시작(){ 입장하기(); 출석부르기(); 퇴장하기(); } } App.java public class App { public static void main(String[] args) { Te.. 2024. 3. 28.
SOLID란? SOLID란 무엇일까? 흔히 객체지향적 설계를 얘기할 때 SOLID 원칙을 설명을 한다. 하지만, 이 원칙을 지키면 좋다는 것이지 위배했다고 무조건 최악의 코드가 되는 것은 아니다. 한번 SOLID의 요소에 대해 하나하나 알아보자. 1. S(SRP - Single Responsibility Principal - 단일 책임의 원칙) SRP - Object - Class가 하나의 책임만을 가져야 함 예를 들어 아래와 같은 Add Class가 있다고 했을 때 여기에 곱하기 나누기를 넣으면 단일 책임의 원칙이 위배된다. public class Add{ public int add(int a, int b){ return a + b; } public static void main(String[] args){ Syst.. 2024. 3. 11.