의존성 주입에 대한 생각
·
IT
의존성 주입에 대한 생각오늘 회사에서 스프링 코어에 대한 얘기를 나누던 중 의존성 주입 얘기가 나왔고 그냥 생각나는 부분들에 대해서 끄적끄적해본다.웹 개발을 하다보면 스프링 프레임워크 사용 여부와 상관없이 최소 한번 정도는 그 단어 Dependency injection(DI, 의존성 주입)를 보거나 듣게 된 경험이 있다고 생각하고 없다면 간첩 신고 하면 되나? 사실, 객체지향과 객체지향 원칙을 제대로 이해하고 있다면 의존성 주입은 학습을 통해 배우는 것이 아니라, 자연스럽게 코드에 녹아서 이미 그렇게 코드를 작성하고 있을 것이다.의존성 주입이라는 개념만 단순히 학습하고 넘어가기보다는 객체지향의 본질과 원칙을 이해하는 데 학습의 초점을 맞추는 것이 훨씬 더 중요하다. 이 원칙들이 지켜지지 않으면 테스트 코..
객체지향 설계 5대 원리 SOLID
·
IT
객체지향 설계 5대 원리 SOLID 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. 이 원칙들은 애자일 소프트웨어 개발과 적응적 소프트웨어 개발의 전반적 전략의 일부다. S - SRP - Single Responsiblity Principle (단일 책임 원칙) 한 클래스는 하..