"빈약한 도메인 모델"의 두 판 사이의 차이

(새 문서: ==개요== ;anemic domain model ;빈약한 도메인 모델 ==같이 보기== * DDD * POJO * GRASP * 도메인 모델 ==참고== * {{영어위키백과|Anemic domain...)
 
2번째 줄: 2번째 줄:
;anemic domain model
;anemic domain model
;빈약한 도메인 모델
;빈약한 도메인 모델
* 도메인 모델에 비즈니스적으로 유의미한 내용을 갖고 있지 않은 객체들
* 비즈니스 로직(유효성 검사, 연산, 비즈니스 규칙 등)이 거의 없는 도메인 객체들이 있는 도메인 모델
* 예: getter/setter만 있는 객체
==예시==
{{소스|빈약함}}
<source lang="csharp">
class Box {
    public int Height { get; set; }
    public int Width { get; set; }
}
</source>
{{소스|빈약하지 않음}}
<source lang="csharp">
class Box {
    public int Height { get; private set; }
    public int Width { get; private set; }
    public Box(int height, int width) {
        if (height <= 0) {
            throw new ArgumentOutOfRangeException(nameof(height));
        }
        if (width <= 0) {
            throw new ArgumentOutOfRangeException(nameof(width));
        }
        Height = height;
        Width = width;
    }
    public int area() {
      return Height * Width;
    }
}
</source>


==같이 보기==
==같이 보기==
* [[DDD]]
* [[DDD]]
* [[POJO]]
* [[POJO]]
* [[값 객체]]
* [[GRASP]]
* [[GRASP]]
* [[도메인 모델]]
* [[도메인 모델]]
11번째 줄: 46번째 줄:
==참고==
==참고==
* {{영어위키백과|Anemic domain model}}
* {{영어위키백과|Anemic domain model}}
* https://docs.microsoft.com/ko-kr/dotnet/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model


[[분류: 소프트웨어 아키텍처]]
[[분류: 소프트웨어 아키텍처]]

2019년 2월 3일 (일) 02:48 판

1 개요

anemic domain model
빈약한 도메인 모델
  • 도메인 모델에 비즈니스적으로 유의미한 내용을 갖고 있지 않은 객체들
  • 비즈니스 로직(유효성 검사, 연산, 비즈니스 규칙 등)이 거의 없는 도메인 객체들이 있는 도메인 모델
  • 예: getter/setter만 있는 객체

2 예시

틀:소스

class Box {
    public int Height { get; set; }
    public int Width { get; set; }
}

틀:소스

class Box {
    public int Height { get; private set; }
    public int Width { get; private set; }

    public Box(int height, int width) {
        if (height <= 0) {
            throw new ArgumentOutOfRangeException(nameof(height));
        }
        if (width <= 0) {
            throw new ArgumentOutOfRangeException(nameof(width));
        }
        Height = height;
        Width = width;
    }
    public int area() {
       return Height * Width;
    }
}

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}