애플리케이션 비즈니스 로직이 80 %이고 CRUD가 20 %이거나 그 반대 인 경우를 가정 해 봅시다. 비즈니스 로직 레이어를 어떻게 구현해야합니까?
은 과거에 내가 명령 패턴의 어떤 종류를 사용하고ComplexFooCMD
또는
EvenMoreComplexBarCMD
같은 수업을했지만, 항상
InsertFoo
,
UpdateFoo
,
DeleteFoo
및
SelectFoosCMD
의 무리와
UpdateSomeValuesOfFoo
또는
SelectSomeFoos
의 몇 가지로 끝났다. 이 모든 것은 BLL에 살았습니다.
최근 덜 복잡한 비즈니스 로직을 애플리케이션에 나는
FooService
같은 클래스와 서비스 패턴을 사용했지만이 또한 예상
insertFoo
,
updateFoo
및
selectSomeFoo
이 포함되어 있습니다. 모든 서비스에서 이러한 메소드를 사용하거나 프리젠 테이션 계층에 이러한 메소드를 제공하는 서비스 만 있으면 보일러 플레이트 코드가 많이 필요합니다.
CRUD 파트와 나머지 응용 프로그램에 모두 맞는 패턴이 있습니까? 아니면 응용 프로그램의 다른 부분에 다른 패턴을 사용해야합니까?
음, 대부분의 경우 "foo를 삽입 할 때 foo의 ID가있는 막대 삽입"과 같은 CRUD 규칙이 있지만 이러한 규칙은 db에 직접 구현 될 수 있지만 db 관리자는별로 좋아하지 않습니다. – Harima555
지속성 계층 자체가 아니라 사용 사례를 알고있는 서비스 계층 내부에 속한 것과 같은 것입니다. CRUD 작업은 객체를 유지하는 방법의 메커니즘을 캡슐화해야합니다. – duffymo