hyeonga_code

Spring_SQL 문장과 실행, 구현을 하나의 DAO 로 구현하는 경우 발생하는 문제점 본문

Spring

Spring_SQL 문장과 실행, 구현을 하나의 DAO 로 구현하는 경우 발생하는 문제점

hyeonga 2023. 12. 13. 05:59
반응형



- sql문장과 실행, 구현을 하나의 DAO로 구현하는 경우 발생하는 문제점
    - 관심사의 분리
        - SoC_Seperation of Concern 
        - 같은 관심사를 가진 것끼리 하나의 객체로 분류합니다.
        - 서로 영향을 주지 않도록 분리합니다.
    - UserDAO의 관심사항
        1) DB와 연결을 위한 커넥션을 가져오는 방식
        2) 사용자 등록을 위해 DB에게 보낼 SQL 문을 담을 Statement 생성, 실행
        3) 사용 완료된 리소스(statement, Connection) 반환
    - DB 커넥션 생성의 독립
        - 여러 사용환경의 호환


- 적용 방법
    - 디자인 패턴
    - 템플릿 메소드 패턴
    - 팩토리 메소드 패턴
    - DAO 확장
        - 두 개의 독립된 클래스로 분리합니다.
        - 문제점    
            - SimpleConnection 의 메소드 문제
            - DB 커넥션을 제공하는 클래스를 DAO가 구체적으로 알고 있어야 합니다.
                - 클래스 이름에 오브젝트를 생성하지 않고 사용하는 방법
    - 관계 설정과 책임의 분리
        - 외부에서 만들어진 것을 가져와 사용하는 방법
        - 메소드 파라미터나 생성자 파라미터를 사용하여 동적 관계가 생성됩니다.
        UserDAO(ConnectionMaker connectionMaker){
            this.connectionMaker = connectionMaker;
        }
            - 구체적인 클래스를 알지 못해도 사용할 수 있게 됩니다.





















































반응형