session facade와 business object에 비즈니스 로직 구현을 최소화하기 위해 정의합니다.
command패턴을 활용하여 application service가 command에 의해 호출되도록 할 수 있습니다.
동일한 문제의 다른 알고리즘 적용을 위해서 Strategy패턴을 활용
장점
-. 비즈니스 로직 중복을 없애고, 재사용성을 높입니다.
-. facade의 구현이 간단해 집니다.
단점
-. 새로운 layer가 추가됩니다.
정리
-. 비즈니스 로직은 facade나 business object가 아닌 application service를 정의합니다.
-. facade에 비즈니스 로직을 정의하면, facade간에 코드가 중복되는 경우가 많아집니다.
-. business object를 사용하지 않는 경우라도 비즈니스 로직은 facade에서 분리해서 따로 정의하는 것이 좋습니다.
