CS/개발론 4

[개발론] Responsibility-Driven Design

https://khalilstemmler.com/articles/object-oriented/design/responsibility-driven-design/ Responsibility-Driven Design | Khalil Stemmler Responsibility-Driven Design is the influential object-oriented design method that presents an effective way to turn requirements into object-oriented software. khalilstemmler.com 정의 요구사항을 객체지향 소프트웨어로 전환하는 효과적인 방법의 객체지향 설계방법 구성 Role (이름) - 관련된 responsibilities의 ..

CS/개발론 2022.06.26

[개발론] 생성 패턴 (Creational Pattern) - 싱글톤, 팩토리, 추상 팩토리, 빌더, 프로토타입

생성 패턴 정의 - 인스턴스를 만드는 절차를 추상화하는 패턴 역할 - 객체 생성/합성 방법 또는 객체 표현 방법을 시스템과 분리 중요한 이유 - 시스템이 상속(inheritance)보다 복합(composite) 방법을 사용하는 방향으로 진화하면서 더 중요해짐 중요한 이슈 생성 패턴은 시스템 사용하는 Concrete Class 정보를 캡슐화 생성 패턴은 class의 인스턴스 생성/결합 부분을 완전히 가림 [정리] 생성 패턴으로 누가, 어떻게, 언제 생성하고 무엇이 생성되는지에 대한 결정이 유연해짐 종류 싱글톤 패턴 (Singleton) 팩토리 패턴 (Factory) 추상 팩토리 패턴 (Abstract Factory) 빌더 패턴 (Builder) 프로토타입 패턴 (Prototype) 싱글톤 패턴 (Singl..

CS/개발론 2022.06.04

[개발론][테스트] Mock

정의 테스트를 위해 의존하는 객체를 가짜로 만들어 사용하는 방법 필요한 이유 단위테스트에서 실행하는 메서드가 다른 네트워크, 데이터베이스 등 복잡한 의존성을 가진 경우 사용하는 경우 테스트 환경 구축이 어려운 경우 - 데이터베이스 설치, 서버 구성 특정 경우에 의존적인 경우 - 수많은 테스트 중에 하나의 테스트만 네트워크/데이터베이스를 통한 결과가 필요 테스트 시간이 오래 걸리는 경우 기본 분류 테스트 더블 - 테스트 진행이 어려울 때 대신 진행할 수 있도록 만들어주는 객체 - Mock 객체와 유사하며 더 상위 의미 더미 객체 - 단순하게 인스턴스화되는 수준으로만 객체를 구현 - 인스턴스가 필요할 뿐, 객체 기능은 필요하지 않는 경우 사용 테스트 스텁 (Test Stub) - 더미 객체가 실제 동작하는 ..

CS/개발론 2022.05.10