2

나는 단지 한 가지만 얻는 것이 아니다. 나는 내부 프로젝트 (java/spring/hibernate)를 만들고있다. Iam은 DAO 레이어, 프리젠 테이션 레이어를 사용합니다. 내 앱에서 비즈니스 레이어를 사용하려면 필요합니까?DAO를 비즈니스 계층 개체 대신 컨트롤러에서 직접 사용할 수 있습니까?

내가 방법은 DAO 년대가 무엇 때문에, 같은 방법을 내가 대신 직접 비즈니스 계층 개체 내 컨트롤러로의 DAO를 사용할 수 있습니다 ..

수정하십시오 .. 너무 비즈니스 계층에 존재하는 요청 이유 만약 내가 잘못하면 .. iam은 큰 응용 프로그램에 코드를 작성하는 데별로 경험이 없습니다 .. pls advice (가능한 경우 pls 예제)

그리고 서비스 레이어는 무엇입니까? 내 같은 작은 응용 프로그램에 이것을 필요로한다고 생각합니까? (난 지금, 우리가 웹 서비스를 사용하는 경우에만 우리는 서비스 계층을 사용하는 것 같아요?)

당신의 대답

+0

[서비스 레이어가 정말로 필요합니까?] (http://stackoverflow.com/questions/9633498/do-i-really-need-a-service-layer) –

+0

@JBNizet에 대해 묻고 있습니다. 비즈니스 계층도 .. u pls 그것에 대해 알고 있다면 말할 수 있을까 ..? – Irwin

+0

비즈니스 계층과 서비스 계층은 동일한 개념입니다. 동의어. –

답변

0

대기 당신은 모두 비즈니스 계층 그러나 가장 간단한 던져 - 멀리 응용 프로그램이 있어야합니다. 비즈니스 로직과 표현의 분리가 비즈니스 로직과 데이터 액세스를 분리하는 것보다 더 중요하다고 말할 수는 있습니다.

응용 프로그램이 CRUD를 약간 수행 할 때 비즈니스 계층이 필요하지 않은 것처럼 보입니다. 경우는, 그러나, 전복 :

  1. 당신은 당신의 응용 프로그램의 UI 프레임 워크를 변경해야 ... 그리고 UI 기술은
  2. 당신은 라이브러리로 다른 클라이언트 코드로 비즈니스 로직을 노출 할 필요가 빠르게 진화 또는
  3. 응용 프로그램이 성장 ... 그리고 획득
  4. 더 심각한 비즈니스 규칙 웹 서비스를 통해 클라이언트를 제거하는
  5. 당신은 비즈니스 로직 INT 배치하면 비즈니스 로직

단위 테스팅을 시작하려는

  • o 프레젠테이션 계층/컨트롤러를 사용하면 비즈니스 로직이 프레젠테이션 계층에 영원히 연결됩니다. 기본적으로 작성중인 코드에 대해 인공 수명 만료를 설정하고 동시에 재사용 가능성을 제한합니다. UI 기술을 변경해야하는 경우 비즈니스 로직을 다시 작성해야합니다.

    이러한 이유 때문에 버려지고 다시 작성되어야하는 많은 VB6 응용 프로그램이 있습니다. 비즈니스 논리를 C++ COM 개체에 작성해야하며 .NET에서 호출 할 수 있어야합니다. 이 동일한 VB6 프로그래머는 VB.NET Winforms로 이동하여 동일한 실수를 반복했습니다.

    편집 : 서비스의 경우 : 필요한 경우 서비스 계층을 작성하십시오. 서비스 계층은 일반적으로 비즈니스 계층 앞에 위치하는 얇은 계층입니다. 실제로 비즈니스 로직의 클라이언트입니다. 종종 동일한 인터페이스를 갖습니다. 네트워크를 통해 논리를 노출해야하는 경우가 아니면 필요하지 않습니다. 저는 비즈니스 로직 앞에 WCF 레이어를 작성해야한다고 주장한 팀에서 일했습니다 ... 어쨌든 동일한 머신에서 모든 코드를 실행해야합니다. 시간 낭비와 응용 프로그램 속도가 느려집니다.