좋은 객체 지향 설계의 5가지 원칙(SOLID)

SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP: 단일 책임 원칙(single responsibility principle) OPC: 개방-폐쇄 원칙(open/closed principle) LSP: 리스코프 치환 원칙 ISP: 인터페이스 분리 원칙 DIP: 의존관계 역전 원칙 SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 ex. UI 변경, 객체의 생성과 사용을 분리 OCP 개방-폐쇄 원칙 스프트웨어 요소는 확장에는 열여있으나 변경에는 닫혀있어야 한다. 구현 객체를 변경하려면 클라이언트 코드를 변경해야 한다. 분명 다형성을 사용했지만 OCP 원칙을 지킬 수 없다. 객체를 생성하고 연관관계를 맺어주는 별도의 조립, 설정자가 필요

2023년 4월 1일
·
0개의 댓글
·

좋은 객체 지향 프로그램이란

객체 지향 특징 추상화 캡슐화 상속 다형성 객체 지향 프로그래밍 객체들의 모임으로 파악하고자 한다. 유연하고 변경하기 쉽다. 다형성 역할과 구현을 분리 클라이언트는 대상의 역할(인터페이스)만 알면 된다. 클라이언트는 구현 대상의 내부 구조를 몰라도 된다. 클라이언트는 구현 대상의 내부 구조가 변경되어도 영향을 받지 않는다. 클라이언트는 구현 대상 자체를 변경해도 영향을 받지 않는다. 자바 언어 역할 = 인터페이스 구현 = 인터페이스를 구현한 클래스, 구현 객체 역할과 구현을 명확히 분리 객체 설계시 역할(인터페이스)을 먼저 부여하고, 그 역할을 수행하는 구현 객체 만들기 객체의 협력이라는 관계부터 생각 혼자 있는 객체는 없다. 클라이언트: 요청 서버: 응답 수 많은 객체 클라이언트와 객체 서버는 서로 협력 관계를 갖는다. 다형성의 본질 인터페이스를 구현한 객체 인스

2023년 4월 1일
·
0개의 댓글
·