# ocp

47개의 포스트

좋은객체지향의 원리

SRP:단일 책임 원칙OCP:개방-폐쇄 원칙LSP:리스코프 치환 원칙ISP:인터페이스 분리 원칙DIP:의존관계 역전 원칙한 클래스는 하나의 책임만 가져야 한다하나으ㅢ 책임이라는 것은 모호하다\-클 수 있고, 작을 수 있다.\-문맥과 상황에 따라 다르다중요한 기준은 변경

5일 전
·
0개의 댓글
·

[About Spring] 스프링의 핵심 원리

스프링은 어떤 특정한 하나의 기술이 아닌, 여러가지 기술의 집합체이다. 그 기술의 형태는 다음과 같다.스프링 프레임워크스프링의 가장 핵심 기술인 스프링 프레임워크스프링 부트여러기술을 편리하게 사용할 수 있도록 도움을 주는 스프링 부트스프링 데이터CRUD를 편리하게 사용

7일 전
·
0개의 댓글
·
post-thumbnail

[OOP] Open-Closed Principle

정의 확장에는 열려있고 변화에는 닫혀있다는 뜻. 다시 말하면, 변경사항에 대해 기존 코드는 변경하지 않고(Closed) 기능을 추가(Open)하는 것을 의미한다. 직접적으로 두 클래스 간에 직접적으로 의존하게 되면 기존 코드에 변경이 생길 수 밖에 없다. 구현체에

2022년 11월 14일
·
0개의 댓글
·
post-thumbnail

[개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴] 설계 원칙: SOLID

객체 지향적으로 설계하는데 기본이 되는 설계 원칙인 SOLID에 대해 알아보자.

2022년 10월 27일
·
0개의 댓글
·
post-thumbnail

개방 폐쇄 원칙(OCP)

Bertrand Meyer은 1988년에 그의 논문에서 개방 폐쇄 원칙을 아래와 같이 설명했다."Software entities (classes, modules, functions, etc.) should be open for extension, but closed f

2022년 10월 20일
·
0개의 댓글
·
post-thumbnail

[Design Pattern] 팩토리 메소드 패턴

📚 팩토리 메소드 패턴 팩토리 메소드 패턴은 특정 객체의 인스턴스를 생성하는 "책임"를 추상적인 Interface로 감싸는 패턴을 의미한다. 이 뜻을 더 쉽게 말하면 다음과 같다 구체적으로 어떤 인스턴스가 생성될지는 Concre

2022년 10월 12일
·
2개의 댓글
·
post-thumbnail

[기본기] 7-6. 의존관계 자동 주입을 하는 방법들, 옵션 처리

본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.우리가 이때까지 의존관계 주입하는 방법으로 지금까지는 우리가 생성자 주입을 사용을 했었는데 사실은 이거 하나만 있는 것은 아니고 다른 여러가지 방법이 있다고 한다.생성자 주입수정자(Setter) 주입필드

2022년 10월 5일
·
0개의 댓글
·
post-thumbnail

[기본기] 7-1. SingleTon & Stateful의 문제

본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.SingleTon에 대해서 설명을 하기 이전 우선 이것이 왜 생겨나게됬는지에 대해서 한 번 알아보고 가보자. 다음과 같은 그림을 한 번 볼까? 지금까지처럼 이제 웹 어플리케이션 개발을 하게 될 경우 이제

2022년 9월 30일
·
0개의 댓글
·
post-thumbnail

IoC 컨테이너, DI 컨테이너?

스프링 컨테이너의 핵심인 IoC와 DI가 무엇인지 알아보는 포스터입니다.

2022년 9월 30일
·
0개의 댓글
·
post-thumbnail

[기본기] 5-4. 관심사의 분리

본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.이전 글에서 마지막에 이제 OCP, DIP를 지키기 위하여서 구현체를 의존하지 않게 하기 위하여서위의 주석 코드를 아래처럼 바꿔서 진행을 해야 한다고 하였다. 그러나 이렇게 진행할 경우 구현체가 없이 코

2022년 9월 15일
·
0개의 댓글
·

객체지향 설계 원칙 SOLID

Single responsibility principle한 클래스는 하나의 책임만 가져야한다.클래스를 변경하는 이유는 단 하나여야한다.변경에 따른 파급효과가 적다Open/closed principle확장에는 열려있으나, 변경에는 닫혀있어야한다.다형성을 활용Liskov

2022년 9월 15일
·
0개의 댓글
·
post-thumbnail

[기본기] 5-3. 좋은 객체 지향 설계를 하기 위하여

본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.할인에 대한 정책을 바꿨다. 기존에는 1000원 고정 할인이었지만 이제는 비율에 따라 할인을 하여주기로 하였다. 그치만... 이게 벌써 변경이 일어난걸 보니 좋은 객체 지향설계인건 벌써 떠나간거 같다.

2022년 9월 13일
·
0개의 댓글
·
post-thumbnail

예제를 통한 OCP, DIP 위반 (1)

이렇게 해도 위반, 저렇게 해도 위반

2022년 9월 7일
·
0개의 댓글
·

SOLID - 개방-폐쇄 원칙(OCP)

소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.

2022년 8월 31일
·
0개의 댓글
·
post-thumbnail

0829 개발일지

인프런 강의 스프링 핵심 원리 - 기본편 수강 중 : 프로젝트 생성 ~ 관심사의 분리까지 수강강사님께서 잠깐 이야기하고 지나갔던 개념인데 처음 들어봐서 검색해보았다.기존 코드에서 저장소로 사용한 hashmap은 여러 객체가 접근해서 동시에 수정하면 오류가 날 수 있다.

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

Service ServiceImpl

객체 지향 설계에 대해 공부하던 중 궁금한 점이 하나 생겼다.지금까지 MVC 패턴으로 설계할때 Controller와 Service는 인터페이스 상속을 받지 않고 1:1 관계로 의존 관계를 맺어왔다.

2022년 8월 27일
·
0개의 댓글
·

객체 지향 설계 원칙 - SRP, DIP, OCP

해당 자료는 인프런 강의 김영한 님의 스프링 핵심 원리 - 기본편 강의를 참고하였다."한 클래스는 하나의 책임만 가져야 한다."클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음

2022년 8월 23일
·
0개의 댓글
·
post-thumbnail

[Spring] DIP, OCP 사용 의미 이해

스프링을 공부하다 보면 가장 처음에 DIP와 OCP를 마주한다. 내가 처음 자바를 접하고 스프링 프레임워크를 공부해보려고 강의를 듣다가 DIP와 OCP를 마주쳤을 때는 '아 그냥 이런 거구나~' 하고 정확히 지나쳤다. 현재까지 두 개의 프로젝트를 진행하면서 사용하기에만

2022년 8월 12일
·
0개의 댓글
·

SOLID 5 원칙, 다형성을 지향하는 객체지향 개발

뭔가 단순히 프로젝트 내용을 열거하는 것보다, 실제로 개발해보면서 마주친 에러들, 어려운 내용들을 정리해보자.✅ 테스트 코드 작성 방법을 given, when, then 으로 나눠서 작성해보자.단일 책임 원칙이 잘 지켜진 설계이다 ! 🤔 회원 도메인, 주문 도메인처럼

2022년 8월 9일
·
0개의 댓글
·