본문 바로가기

DesignPattern

(2)
[DesignPattern] 의존성 주입(Dependency Injection) 왜 필요한가 최근 프로젝트를 진행하면서 처음으로 hilt를 사용하여 의존성 주입을 사용하여 보았다. 의존성 주입의 필요성에 대해 자세히 알아보고자한다. 의존성 주입(Dependency Injection)이란 의존성 주입은 필요한 객체를 직접 생성하거나 찾지 않고 외부에서 넣어 주는 방식이다. 의존성 주입 그 자체는 클래스간 의존성을 외부에서 주입하는 것을 뜻하지만 일반적으로 우리가 사용하는 의존성 주입은 클래스에 대한 의존성의 인터페이스화를 통한 코드 유연성 증대 & 클래스의 인스턴스를 외부에서 생성하여 주입을 동시에 하는 방향으로 진행된다. 그렇다면 의존성이란 무엇일까? 의존성이란 객체 지향 프로그래밍에서 클래스간에 의존성이 있다는 것은 클래스간에 의존 관계가 있다는 것을 의미한다. 즉, 클래스 간에 의존 관계가 ..
[DesignPattern] 아키텍처 패턴과 디자인 패턴 (+MVVM은 어디에 해당하는가) 안드로이드에서 MVVM패턴이 아키텍처 패턴이라고 알고 있었는데 MVVM이 디자인 패턴에 기입되어져 있는 책을 발견하고 혼동을 겪게 되었다. 그래서 생각해보니 내가 아키텍쳐 패턴과 디자인 패턴의 차이에 대해 잘 알고 있지 못한 것을 느끼게 되었고 이 포스팅을 통해 제대로 알고자 한다. 아키텍처 패턴 아키텍처 패턴(architectural pattern)은 주어진 문맥 안에서 소프트웨어 아키텍처의 공통적인 발생 문제에 대한 일반적인, 재사용 가능한 해결책을 의미한다. 아키텍처 패턴은 소프트웨어 디자인 패턴과 비슷하지만 더 넓은 범위에 속한다. 아키텍처 패턴은 소프트웨어 공학의 다양한 문제를 해결하는데, 예를 들어 컴퓨터 하드웨어 성능 제한, 비즈니스 위험의 최소화와 고가용성을 들 수 있다. 일부 아키텍처 패..