일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드
- github
- 앱개발
- db
- cs
- 코틀린
- 디자인 패턴
- CS지식
- OS
- Operating System
- 액티비티
- 리액트
- 운영체제
- Database
- Kotlin
- 스레드
- reactnative
- 프로세스
- 개발
- 메모리
- 앱
- 안드로이드 디자인 패턴
- 안드로이드 개발
- 데이터베이스
- 리액트네이티브
- Android
- 디자인패턴
- React
- 앱 개발
- MVVM
- Today
- Total
목록디자인패턴 (4)
Tech Log
1. 의존성 종속성이라고도 한다. B의 변경 사항에 대해 A 또한 변해야 한다면, A가 B에 의존성이 있다는 것이다. B가 바뀌면 A도 바뀌는 것이다. 2. 의존성 주입 위 그림처럼 메인 모듈이 직접 하위 모듈에 대한 의존성을 주는 것이 의존성 주입을 적용하지 않는 것이다. 의존성 주입을 적용한다면, 메인 모듈이 직접 의존성을 주는 것이 아니라 간접적으로 주게 된다. 중간에 의존성 주입자(dependency injector)가 의존성 주는 부분을 가로채서 메인 모듈 대신 의존성을 주입하게 된다. 그 결과 메인 모듈과 하위 모듈은 디커플링 되었다. *디커플링(decoupling) : 모듈 간 의존성을 최소화 의존성 주입 시에는 상위 모듈은 하위 모듈에서 어떠한 것도 가져오지 않아야 한다. 또한 상위 모듈과..
안드로이드를 개발할 때 가장 많이 권장된다는, 구글이 권장하는.., MVVM 패턴을 공부해보고자 한다. 아키텍처 패턴이 각각의 장단점이 있지만, MVVM이 어떻길래 권장되는지 상당히 궁금했다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVVM 패턴이란? MVVM 패턴은 Model, View, ViewModel로 세 가지 역할로 프로그램을 분담하여 나눈 것이다. 안드로이드에서의 MVC 패턴은 View와 Model 사이의 의존성이 높다. 그리고 MVC 패턴에서는 View와 Controller가 함께 Activity나 Fragment에 있다.... (이에 대한 자세한 예시는 추후에 MVC 패턴 예제 포스팅을 작성해볼 예정이다) 이렇게 두 모듈 간의 결합도가 높으면, 추후에 프로그램이 커..
이때까지 프로젝트를 하면서 코드가 복잡해지는 것에 대한 불편함을 느꼈다. 디자인 패턴을 적용하지 않고, UI 설정 코드와 데이터 받아오는 코드 등을 합쳐놓으니 굉장한 스파게티 코드가 된 것 같았다... 따라서 앞으로 하는 프로젝트는 모듈화와 디자인 패턴 적용에 집중해야 겠다고 생각했다. 여러 아키텍처 패턴 중 심플하다고 생각되는 MVC 패턴부터 알아보고자 한다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVC 패턴이란? MVC 패턴은 애플리케이션(응용 프로그램)을 서로 다른 역할로 분리해놓은 패턴 중 하나이다. 관심사 분리(Separation of Concerns, SoC)로도 알려져 있다고 한다. 여기서 관심사 분리(separation of concerns, SoC)란? In c..
소프트웨어를 설계할 때 디자인 패턴이 중요하다는 얘기를 항상 들었지만, 왜 중요한 것이고 어떨 때 쓰이는 것인지 몰랐다. 그러다가 이번에 추천 시스템 어플리케이션을 만들면서, 디자인 패턴의 중요성을 크게 깨달았다. 프로젝트 내의 파일들이 많아지고, 한 클래스 내에서 너무 많은 기능들이 담겨있다보니 파일을 찾기 힘들고, 코드의 가독성이 좋지 않았다. 또한 클래스의 재사용성과 확장성이 좋지 않겠다는 생각이 들었다. 이래서 소프트웨어 설계를 철저히 하고 디자인 패턴을 적용시키는 것이구나하고 깨달았다... 이번에 제대로 디자인 패턴을 공부해서 적용시켜보려고 한다. 1. 디자인 패턴이란? 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다. 즉, 설계에서 ..