여러 .NET 스타터 키트를 보면서 알게 된 점은 비즈니스 개체 구성이 종종 클라이언트 수준에서 처리된다는 것입니다. 그런 다음 비즈니스 객체는 조작, 데이터베이스에 대한 직렬화 등을 위해 비즈니스 계층에 전달됩니다. 클라이언트가 필요한 데이터 만 전달하면되므로이 코드를 비즈니스 계층에 추상화하면 안됩니까? 객체를 인수로만 받아들이는 CRUD 추상화가있는 비즈니스 계층을 갖는 데 어떤 이점이 있습니까?클라이언트 또는 비즈니스 계층의 개체 생성?
3
A
답변
3
나는 비즈니스 계층과의 상호 작용이 복잡한 유형 및 기타 복잡한 숨김 또는 다른 점을 가능한 단순하게 유지해야한다는 점에 동의합니다. UI 및 비즈니스 객체가 연결될 때 가능한 한 복잡성이 0에 가까워 야합니다.
그 시점에서 비교적 복잡한 유형의 구성이 합법적 인 장면을 상상할 수 있습니다. 사이트가 작을수록 < 3 티어가 실제로 엄격한 3 티어보다 더 나을 가능성이 높습니다. 범위가 너무 작아 우려의 엄격한 분리가 지나치게 길어지며 그 접근법이 상황에 적절할 수 있습니다. 또는 그들이하는 일은 인데, 이것을 처리하는 가장 좋은 방법입니다. 와이어 - 업 또는 통합이 더 복잡한 경우 또는 플러그인 모델 또는 기타가있는 경우 실제로는 지나치게 복잡한 유형이 일관성있는 유연한 인터페이스를 보장 할 수 있습니다. 때로는 한 곳에서의 약간의 복잡성으로 인해 다른 곳의 복잡성이 줄어 듭니다. 그러나 더 자주 이것은 사실이 아닙니다. 내 추측은 당신이 나쁜 것으로 본 것은 실제로 그렇다는 것입니다. . . 불량. 정말 나쁜 아키텍처이
- 많은 마이크로 소프트 빠른 시작 데모 및 템플릿. 자체 웹 모델은 자체적으로 만족스럽지 않은 분리를 제공하지 않습니다. 당신은 spaghetti code 악몽이다 공식적인 사례를 많이 볼 수 있습니다. 비즈니스, DB 및 사용자 인터페이스 함께 사는 것은 끔찍한 조화입니다.
- 당신은 제 3 자에 대한 SDK를 이야기하는 경우 :이 많은 비즈니스에 전달 복잡한 유형들이 C++ 에서 포팅하지만 정말 객체 지향으로 수정하지 않았기 때문에 개체를 필요로한다. 몇 번만해도 미친 유형을 일부 이미지 소프트웨어 객체로 전달해야했는데, 논리적으로는 두 개의 간단한 값 매개 변수 만 필요했습니다.
2
일반적으로 Service 또는 데이터 액세스 레이어에서이 유형의 작업을 수행합니다. 즉, 작은 프로젝트의 경우 내 데이터 액세스 계층에서 내 도메인 개체를 반환합니다. 큰 프로젝트의 경우 서비스 계층을 사용하여 복잡한 개체 구성과 비즈니스 논리 호출을 처리합니다.
관련 문제
- 1. 비즈니스 계층의 여러 클래스 라이브러리 또는 하나?
- 2. 비즈니스 계층의 Linq2nHibernate?
- 3. 비즈니스 계층의 LINQ 사용자 계층의 페이징/정렬 그리드 뷰
- 4. 비즈니스 계층의 데이터 액세스 계층에서 결과 필터링
- 5. 데이터베이스 쿼리에서 직접 생성 한 비즈니스 개체
- 6. 클라이언트 측 비즈니스 로직
- 7. Entity Framework - 비즈니스 계층의 필요성에 대한 의견
- 8. 비즈니스 개체 또는 엔터티의 자체 유효성을 검사해야합니까?
- 9. 내 서비스/데이터 계층의 매개 변수로 사용되는 개체 또는 값
- 10. 디자인 질문 한 계층의 POCO를 다른 계층의 POCO로 변환하는 방법
- 11. 비즈니스 개체 및 linq2SQL
- 12. 비즈니스 개체/데이터베이스 액세스 계층을위한 아키텍처
- 13. Winforms DataGridView에서 비즈니스 개체 편집
- 14. 값 개체 또는 개체
- 15. 비즈니스 계층의 보안을 유지합니다. 모범 사례/최상의 패턴
- 16. Microsoft 음성 개체 라이브러리 - 클라이언트 또는 서버?
- 17. WCF에서 기존 비즈니스 개체 노출
- 18. 반환 비즈니스 개체 웹 서비스
- 19. SAP 비즈니스 파트너 생성
- 20. 비즈니스 개체 - 무효 데이터 공급자
- 21. 비즈니스 개체 및 시작 위치
- 22. C# (OOP) 중첩 비즈니스 개체
- 23. Silverlight에서 비즈니스 개체 메서드에 액세스
- 24. ASP.NET 데이터 집합과 비즈니스 개체/ORM
- 25. 사용자 지정 비즈니스 개체 : AJAX 사용 WCF
- 26. 클라이언트 쪽 엄지 생성 또는 서버 쪽?
- 27. 복잡한 비즈니스 엔티티, 비즈니스 로직 및 Silverlight 클라이언트 코드
- 28. RESTEasy 클라이언트 : 개체 재구성
- 29. asp.net 컨트롤러 또는 서비스 계층의 멤버십 클래스를 호출 하시겠습니까?
- 30. 비즈니스 개체 : 개인 인스턴스 VS 단일 인스턴스