DAT (데이터 액세스 계층)와 BLL (비즈니스 논리 계층)이 포함 된 n- 계층 응용 프로그램이 있습니다. SQL 쿼리를 사용하고 DAL에 procs를 저장하여 개체를 채 웁니다.DAL에서 기본 정렬 순서가 우려 사항을 분리합니까?
내 SQL 쿼리의 ORDER BY
절의 분리를 위반 하는가 :
그래서 여기 내 질문?
한편으로는 정렬 순서가 특정 순서로 데이터를 표시하려는 이유를 결정하는 비즈니스 규칙이기 때문에 비즈니스 계층에 정렬 논리가 속한 것으로 보입니다. 또한 동일한 데이터를 여러 가지 방식으로 표시하고자 할 수 있습니다. 또한 내 데이터 액세스 코드가 어떻게 표시되는지와 같은 우려 사항을 인식해서는 안됩니까?
반면 데이터베이스는 일반적으로 응용 프로그램 코드보다 데이터를 정렬하는 것이 더 효율적이므로 성능상의 이유로 BLL에서 정렬보다 ORDER BY 절을 사용하는 인센티브가 있습니다. 또한, DAL에서 기본 정렬 순서를 지정하면 실제로 관심사의 분리를 위반하는지 확실하지 않습니다. 레코드는 어떤 방식 으로든 데이터베이스에서 나옵니다. 가장 일반적인 시나리오에 따라 정렬하지 않는 이유는 무엇입니까? 기본값과 다른 정렬 순서가 필요한 경우 BLL의 일부 메서드를 통해 정렬 할 수 있습니다.
내가 거기에있는 정렬에 반대할지 모르겠지만 개인적으로 내 액세스 계층의 정렬에 의존하는 비즈니스 로직에 대해 불편할 것이라고 생각합니다. –
@ChadSchouggins 잘 모릅니다. DAL을하는 사람이라면 누구나 정렬 논리를 포함한다는 것을 믿지 않는다는 뜻입니까? –