분류 전체보기87 [Kotlin] 개발자를 위한 디자인 패턴 (Design Pattern) 에 대해서 알아보자 (3/3) # 행위 패턴 아래 글에서 이어집니다. 2024.09.26 - [프로그래밍/kotlin] - [Kotlin] 개발자를 위한 디자인 패턴 (Design Pattern) 에 대해서 알아보자 (2/3) # 구조 패턴 # 행위 패턴이란?객체나 클래스 간의 상호작용을 정의하고, 책임을 어떻게 분배할지를 다루는 디자인 패턴객체 간의 통신과 협력을 관리하며, 특정 작업을 수행하는 방법을 조직하는 데 중점을 둔다. # 행위 패턴의 종류행위 패턴의 경우 너무나도 많은 패턴이 존재하므로 일부만 소개하도록 하겠다. 책임 연쇄 패턴 (Chain of Responsibility Pattern) • 개념: 요청이 연쇄적으로 전달되며, 각 객체가 요청을 처리할지 말지를 결정. 처리되지 않으면 다음 객체로 요청이 전달된다.• 사용 예시: 특정 .. 2024. 9. 30. [Kotlin] 개발자를 위한 디자인 패턴 (Design Pattern) 에 대해서 알아보자 (2/3) # 구조 패턴 이 주제는 3편에 걸쳐서 나뉘어집니다.현재는 디자인 패턴에 대한 2번째 설명 게시글로 이전 게시글은 아래 주소를 확인해주세요. 2024.09.26 - [프로그래밍/kotlin] - [kotlin] 개발자를 위한 디자인 패턴 (Design Pattern) 에 대해서 알아보자 (1/3) # 생성 패턴 우리는 이전 시간에 디자인 패턴의 생성 패턴에 대해 알아보았다.이번에는 디자인 패턴의 구조 패턴에 대해 알아보겠다. # 구조 패턴이란?객체 지향 디자인 패턴중 하나로 객체나 클래스 간의 관계를 정의하여 큰 구조를 형성하는 데 중점을 둔 패턴객체 간의 상호작용을 쉽게 만들고, 코드의 재사용성을 높이며, 시스템의 유연성과 확장성을 향상시킨다. 이러한 구조 패턴는 대표적으로 다음과 같은 것들이 존재한다.어댑터 패.. 2024. 9. 30. [kotlin] 개발자를 위한 디자인 패턴 (Design Pattern) 에 대해서 알아보자 (1/3) # 생성 패턴 # 디자인 패턴이란?디자인 패턴의 기본 정의는 소프트웨어 설계에서 반복적으로 발생하는 문제들을 해결하기 위해 만들어진 일반적인 해결 방안으로, 많은 개발자들이 실무에서 이용하고 인정하는 모범 사례를 의미한다.여기에서 설명하는 디자인 패턴은 OOP (객체 지향 프로그래밍) 기준으로 삼으며 이를 참고 바란다. 디자인 패턴이 만들어진 이유디자인 패턴이 만들어진 이유는 여러 가지가 있겠지만, 가장 큰 이유로 뽑히는 것 이유들은 다음과 같다. 1. 코드 구조의 표준화코드 구조를 표준화하여 협업 시 다른 개발자가 동일한 문제를 동일한 방식으로 해결할 수 있게 하여 코드의 일관성을 유지하며 코드 리뷰와 유지 보수를 쉽게 만들어준다. 2. 문제 해결책 재사용 가능표준화 된 코드 구조를 통해 비슷한 문제가 발생 시 성공.. 2024. 9. 30. [Android] Google 에서 제공해주는 오픈소스 라이선스 관리용 라이브러리 우리가 앱을 개발할 때는 많은 기능이 들어가게 된다.그러나 이러한 기능들을 일일이 하나하나 모두 개발하지는 않았을 것이다.당장 네트워크 통신에서 가장 흔히 쓰이는 Retrofit 이나 이미지 라이브러리인 Coil, Picasso, Glide 등 여러 라이브러리를 통해 개발자가 기능을 직접 개발하는 것이 아닌, 이미 만들어진 코드를 가져다 써서 빠르고 편리하게 앱을 개발하기 때문이다. 라이브러리를 사용하는 것은 비단 개인 개발자 뿐만이 아닌 Android 를 소유 및 개발하고 있는 Google 과 Meta, Apple, Tesla 등 세계 곳곳의 회사들이 라이브러리들을 사용하고 있다. 이러한 라이브러리는 편리하다는 장점이 있지만, 만든 이의 저작권이 있기에 실서비스를 운영한다면 필수적으로 저작권을 명시.. 2024. 9. 29. [Android] 안드로이드 Repository Pattern 및 UseCase Pattern 에 대해서 간단히 알아보자 # RepositoryRepository는 데이터 소스 (Local 및 Remote) 와 상호 작용하는 메서드를 정의하는 인터페이스이다. 이는 애플리케이션과 데이터 소스(예: 네트워크 API, 로컬 데이터베이스) 사이의 추상화 계층을 제공한다.이를 사용하면 데이터 소스가 변경되거나 다양화되어도 애플리케이션 나머지 부분에 미치는 영향을 최소화할 수 있다.Domain Module 에서 Interface 를 구현한다.# RepositoryImpl실제 데이터 소스와의 상호 작용을 처리하며, Repository 인터페이스에서 정의된 메서드를 구현. 이 구현체는 데이터를 가져오고, 변환하며, 애플리케이션에 필요한 형식으로 데이터를 제공한다. **RepoImpl**을 사용함으로써 데이터 관련 로직을 한 곳에서 관리할.. 2024. 9. 29. [Android] 안드로이드 멀티모듈 (Multi-Module) 의 정의와 사용 이유를 알아보자 이 글을 읽기 전 이전 포스팅인2024.09.26 - [프로그래밍/안드로이드] - [Android] 안드로이드 클린 아키텍처 (Clean Architecture) 에 대해서 알아보자 를 참고한다면 이해 및 응용에 도움이 될 수 있으니 참고 부탁드립니다. 들어가며Android Studio, Eclipse, Django, Spring 등 여러 개발 툴을 통해 프로젝트를 생성할때는 아무리 작은 프로젝트라도 여러 파일이 생기기 마련이다. 물론 이것이 작은 프로젝트일경우 양이 많지 않아 신경을 쓰지 않아도 되겠지만, 인스타그램이나 구글 같은 대기업들이 가진 프로젝트 내부 파일의 양은 어마어마 할 것이다.다른 곳들은 잘 모르겠지만 안드로이드의 경우 한 모듈에서 수정사항이 생기면 그 모듈에 대해 새롭게 빌드를 한다... 2024. 9. 28. 이전 1 ··· 8 9 10 11 12 13 14 15 다음