그래서 내 프로그램 초안을 만들고 있습니다.비즈니스 로직이 데이터 계층과 어떻게 상호 작용해야합니까?
GUI
---
Business Logic
---
Data
당신은 문제없이 하나 GUI
또는 Data
계층을 교체 할 수 있어야한다 :
이것은 내 계획이다. 모든 레이어가 스스로를 감시합니다. 따라서 GUI
은 Business logic
에서 메소드를 호출하고 메소드는 항상 상태와 일부 데이터를 리턴합니다. GUI가 데이터에 응답하는 방법은 항상 GUI 계층에서 결정되어야합니다. 비즈니스 로직은 이에 영향을 미치지 않아야합니다. 그래서 GUI와 비즈니스 로직과의 관계가 해결되었습니다. 나를 따라 오길 바랍니다.
이제 좀 더 구체적으로 살펴 보겠습니다. 데이터 계층에 대한 내 계획은 데이터베이스를 사용하는 것입니다. 이제 Business Logic이 데이터 계층에서 메소드를 호출해야합니까?
아마도 열거 형을 작성해야합니다. 이는 데이터 영역에서 인식하고있는 다른 하드 코딩 된 SQL 쿼리에 해당합니다.
예.
Datalayer.GetResults(Queries.GetAllCustomersIDs);
검색어가 enum입니다.
이것이 올바른 방법이라면 GetResults는 무엇을 반환해야합니까? 문자열 배열? 질의에 다차원 데이터가 있다면?
대신 두 가지 일반적인 방법을 사용해야합니까?
Datalayer.GetSingleDimensionResults(SingleDimensionQueries.GetAllCustomersIDs);
Datalayer.GetMultipleDimensionResults(MultiDimensionQueries.GetAllCustomers);
아니면 각 종류의 데이터 요청에 대한 쿼리가 있어야합니까?
Datalayer.GetAllCustomerIDs;
DataLayer.GetAllCustomers;
등
비즈니스 로직이 데이터 영역에서 일부 데이터를 가져 오는 경우를 예로 들겠습니까? – CasperT
컨테이너 등으로 무엇을 의미하는지 이해합니다. 하지만 여전히 데이터를 가져와야하는 방법을 잘 모릅니다. 어느 쪽이 가장 좋습니다. – CasperT
나는 이것으로 인해 버려지고 있다고 생각한다 : "각 인터페이스는 문제의 객체에 대한 모든 공용 데이터 액세스 메소드를 나열합니다."나는 작은 예제를 정말 감사 할 것입니다. – CasperT