전체 글 185

Orbit MVI

Orbit repository : https://github.com/babylonhealth/orbit-mv Orbit은 Android 애플리케이션의 상태를 관리하는 데 도움이 되는 프레임워크다. MVI 패턴을 사용하여 애플리케이션의 상태를 관리할 수 있다. MVI 패턴은 애플리케이션의 상태를 세 가지 부분으로 분리한다. View: 애플리케이션의 사용자 인터페이스를 나타낸다. ViewModel: 애플리케이션의 상태를 관리한다. Model: 애플리케이션의 데이터를 제공한다. Orbit은 View와 ViewModel 간의 상호 작용을 관리하는 데 도움이 된다. View는 ViewModel에 상태 변경을 요청하고, ViewModel은 Model에서 데이터를 가져와 View에 상태를 업데이트한다. Orbit을 ..

퍼사드(Facade) 패턴

Head First Design Patterns : Wiki : 퍼사드 패턴(프랑스어: façade[fəˈsɑːd] 영어: pattern)은 소프트웨어 공학 디자인 패턴 중 하나이다. 객체 지향 프로그래밍 분야에서 자주 쓰인다.퍼사드는 클래스 라이브러리 같은 어떤 소프트웨어의 다른 커다란 코드 부분에 대한 간략화된 인터페이스를 제공하는 객체이다.퍼사드는 소프트웨어 라이브러리를 쉽게 사용할 수 있게 해준다. 또한 퍼사드는 소프트웨어 라이브러리를 쉽게 이해할 수 있게 해 준다. 퍼사드는 공통적인 작업에 대해 간편한 메소드들을 제공해준다.퍼사드는 라이브러리를 사용하는 코드들을 좀 더 읽기 쉽게 해준다.퍼사드는 라이브러리 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜준다. 대부분의 바깥쪽의 코..

플라이웨이트(Flyweight) 패턴

Head First Design Patterns :어떤 클래스의 인스턴스 한 개만 가지고 여러 개의 "가상 인스턴스"를 제공하고 싶을 때 사용. 시나리오 >>조경 설계 애플리케이션에서 나무를 객체 형태로 추가해야 한다. 애플리케이션 내에서 나무들의 역할은 별로 중요하지 않다. 그냥 x, y 좌표를 가지고 있고, 나무의 수령에 따라서 적당한 크기로 화면에 표현되기만 하면 된다. 문제는 어떤 사용자가 나무를 꽤 많이 집어넣으려고 한다는 것이다. 클라이언트의 딜레마 >>드디어 제법 큰 고객을 잡았습니다. 몇 달 동안 공을 들인 끝에 잡은 고객인데, 1000 카피를 구입할 예정이고, 우리가 만든 소프트웨어를 써서 대규모 주택단지의 조경을 설계하려고 합니다. 그런데 그 소프트웨어를 1주일 동안 테스트해 본 결과 ..