본문 바로가기

Development/Software Design

클래스 다이어그램 예시(배달 애플리케이션) 관계 표기법 클래스 간 관계와 표기법에 대한 자세한 설명은 이곳(https://hellmir.tistory.com/entry/클래스-설계-시-상속-관계-합성-관계-위임-관계의-개념in-Java)에 있다. 클래스 설계 시 상속 관계, 합성 관계, 위임 관계의 개념(in Java) 상속(Inheritance) 관계 상속은 한 클래스가 다른 클래스의 필드와 메서드를 그대로 재사용하면서 자신의 필드와 메서드를 추가해 확장할 수 있는 개념이다. 또한 상속받은 메서드는 Overriding을 통 hellmir.tistory.com 클래스 다이어그램 예시(배달 애플리케이션) Class Diagrams Member Shop Menu Order Cart 소스 코드는 이곳(https://github.com/hellmir/d.. 더보기
싱글톤 패턴(Singleton Pattern)의 개념과 특징 싱글톤 패턴의 개념 싱글톤 패턴은 객체지향 프로그래밍에서 특정 클래스의 인스턴스를 하나로 유지하기 위한 디자인 패턴이다. 다량의 자원을 필요로 하는 객체의 무분별한 생성을 방지하기 위해 설계되었다. 싱글톤 패턴은 인스턴스를 하나만 유지하므로, 해당 인스턴스는 사실상 전역 변수와 같은 역할을 한다. 이 때문에 여러 클라이언트의 요청이 동시에 처리되는 경우 데이터의 무결성에 문제가 발생할 소지가 크다. 따라서 동기화를 통해 리소스 동시 접근을 제어함으로써 데이터를 보호하고, 잘못된 상태 변경의 결과가 다른 데이터로 파급되지 않도록 주의해야 한다. 싱글톤 패턴의 장점 인스턴스 제어 인스턴스가 하나만 유지되도록 제한함으로써 무분별한 객체 생성을 방지하고, 메모리를 효율적으로 관리할 수 있다. 객체 상태 일관성 .. 더보기
클래스 설계 시 상속 관계, 합성 관계, 위임 관계의 개념(in Java) 상속(Inheritance) 관계 상속은 한 클래스가 다른 클래스의 필드와 메서드를 그대로 재사용하면서 자신의 필드와 메서드를 추가해 확장할 수 있는 개념이다. 또한 상속받은 메서드는 Overriding을 통해 자신만의 행위를 추가하거나 행위 전체를 변경할 수 있다. 상속 관계는 'is-a' 관계로서, 하위(자식) 타입은 상속 대상 부모 타입을 포함한 자신의 상위 타입 모두와 '하위 타입 is a 상위 타입'의 관계가 성립해야 한다. 예) Rabbit(하위 타입) is an animal(상위 타입). —> 토끼는 동물이다. (O) Animal(상위 타입) is a rabbit(하위 타입). —> 동물은 토끼다. (X) 예) Rabbit(하위 타입) is a mammal(상위 타입). —> 토끼는 포유류다.. 더보기
클래스 다이어그램(Class Diagram) 모델링 UML의 개념 UML(Unified Modeling Language)은 표준화된 모델링 언어로서, 주로 소프트웨어 시스템의 구조와 행동을 시각화, 문서화하는 데 이용되는 도구이다. 클래스 다이어그램은 일반적으로 Use Case 모델링과 Domain 모델링 이후에 모델링한다. 특히 Use Case 모델링 단계가 정말 중요하다고 생각하는데, 구현 기능이 고객의 요구사항과 동떨어져 산으로 가는 것을 방지하는 이정표 역할을 해줄 수 있고, Test Case의 기반 시나리오도 되어줄 수 있기 때문이다. UML 모델링 없이 프로젝트를 진행했었는데, 특히 Use Case 모델링을 하지 않고 그때그때 생각나는 대로 만들다 보니 기본적으로 제공되어야 할 기능이 너무 늦게 만들어지는 일도 있었다. 따라서 앞으로 진행할 프.. 더보기