전공공부211 책 "아키텍처를 알아야 앱 개발이 보인다" #2 Dagger2를 이용한 의존성 주입 기법 의존성 주입(DI: Dependency Injection) : 하나의 객체에 다른 객체의 의존성을 제공하는 기술 의존성 : 객체 지향에서 두 클래스 간의 관계, 일반적으로 둘 중 하나가 다른 하나를 필요로 한다. 주입 : 생성자나 메서드 등을 통해 외부로부터 생성된 객체를 전달받는 것 -> 의존 관계에 있는 클래스의 객체를 외부로부터 생성하여 주입받는 것 의존성 주입의 필요성 변경의 전이 : 의존 관계에 있는 클래스를 변경함으로 인해 다른 하나도 변경해야 하는 것 제어의 역전(IoC, Inversion of Control) : 어떠한 일을 수행하도록 만들어진 프레임워크에 제어권을 위임함으로써 관심사를 분리하는 것 의존관계에 있는 클래스의 생성 및 관리를 외부에 위.. 2022. 4. 6. 책 "아키텍처를 알아야 앱 개발이 보인다" #1 본 포스트는 아래 책을 읽고 공부한 것을 정리한 것이다. #1 안드로이드 애플리케이션 설계 소개 잘 설계된 애플리케이션은 유지 보수비를 줄여주고, 성능, 보안, 안정성 등의 측면에서 많은 이점이 있다. 가장 중요한 점은 설계 및 유지보수에 대해서 지속해서 고민하고 발전시키려는 의지 SOLID 원칙 코드의 가독성을 높이고 확장이 쉬운 구조를 만드는 지침 1. 단일 책임 원칙(Single Responsibility Principle) 어떤 클래스나 모듈 또는 메소드가 단 하나의 기능을 가져야 한다는 뜻 편집 과정에 변경이 일어나면 같은 클래스의 일부로 있는 출력 코드가 망가질 위험이 대단히 높다. 2. 개방-폐쇄 원칙(OCP : Open Closed Principle) 소프트웨어가 확장에 대해서는 열려 있어.. 2022. 4. 6. (c++) 프로그래머스 "리틀 프렌즈" https://programmers.co.kr/learn/courses/30/lessons/1836 코딩테스트 연습 - 리틀 프렌즈 사천성 리틀 프렌즈 사천성 언제나 맛있는 음식들이 가득한 평화로운 푸드 타운. 푸드 타운에서 행복하게 사는 리틀 프렌즈들은 마을에 있는 매직 스푼을 보물처럼 보관하고 있다. 매직 스푼은 재료만 programmers.co.kr #include #include #include using namespace std; bool check_right(vector board, pair n1, pairn2, char c) { // 열을 오른쪽으로 이동 for (int x = n1.second + 1; x n2.second) { //아래에 있는 타일이 위에 있는 타일보다 앞쪽 열에 있는 경.. 2022. 3. 28. (c++) [미완성] "브라이언의 고민" https://programmers.co.kr/learn/courses/30/lessons/1830# 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr 나의코드 #include #include #include using namespace std; vector strs; //각 단어 저장 vector isRulsDone; //사용한 규칙 저장 vector strDone; //정상적인 단어 저장 unordered_map mSpacial; //사용한 특수문자 저장 int num; void initialize() { //초기화 strs = vector(0); isRulsDone = vector(0); mSpacial = unordered_map(0); num = 0; } bool checkRu.. 2022. 3. 28. 이전 1 ··· 27 28 29 30 31 32 33 ··· 53 다음