본문 바로가기
728x90
반응형

Spring190

[Spring] 객체 지향 설계와 스프링 스프링 이야기에 왜 객체지향이 나오는가? 스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원 DI(Dependency Injection) : 의존관계, 의존성 주입 DI 컨테이너 제공 클라이언트 코드의 변경 없이 기능 확장 쉽게 부품을 교체하듯이 개발 DI 컨테이너 : 자바 객체를 여기에 넣어놓고 의존관계를 제공 -> 클라이언트 코드 변경 없이 쉽게 부품 갈아끼우듯 활용 가능 스프링이 없던 시절에는? 옛날 어던 개발자가 좋은 객체 지향 개발을 하려고 OCP, DIP 원칙을 지키면서 개발을 해보니, 너무 할 일이 많았아서 결국 프레임워크로 만들어버렸다. 순수하게 자바로 OCP, DIP 원칙들을 지키면서 개발을 해보면, 결국 스프링 프레임워크를 만들게 된다.(더 정확히는 DI컨테이너) DI 개념.. 2022. 1. 10.
[Spring] 좋은 객체 지향 설계의 5가지 원칙(SOLID) SOLID란? 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리했다. SRP : 단일 책임 원칙(Single responsibility principle) OCP : 개방-폐쇄 원칙(Open/closed principle) LSP : 리스코프 치환 원칙(Liskov subsitution principle) ISP : 인터페이스 분리 원칙(Interface segregation principle) DIP : 의존관계 역전 원칙(Dependency inversion principle) SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수 있고, 작을 수 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파.. 2022. 1. 6.
[Spring] 좋은 객체지향 프로그래밍이란? 객체 지향의 특징 - 추상화 - 캡슐화 - 상속 - 다형성 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 유연하고 변경이 용이하다는건 무슨말인가? - 레고 블럭 조립하듯이 - 키보드와 마우스를 갈아 끼우듯이 - 컴퓨터 부품 갈아 끼우듯이 - 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 ==> 궁극의 용이함와 궁극의 변경 -> 다형성 다형성의 실세계로 비유하면? - 실세계와 객.. 2022. 1. 5.
[Spring] 스프링이란? 스프링이란? 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 스프링은 여러 서비스를 제공한다. 필수적으로 이용해야하는 서비스가 있고, 선택적으로 이용해야 하는 서비스가 있다. 필수 : 스프링 프레임워크, 스프링 부트 선택 : 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 spring.io 사이트에서 스프링에 대한 자세한 서비스들을 찾아볼 수 있다. https://spring.io/why-spring Why Spring? Spring makes programming Java quicker, easier, and safer .. 2022. 1. 5.
728x90
반응형