문제

3 개의 레이어 (또는 계층)가있는 다중 티어 프로젝트를 만들고 싶습니다.

이제 각 레이어 (계층) 이름을 어떻게 지정해야합니까?

Wikipedia 에서이 설명을 보았습니다.

wikipedia 3 계층 아키텍처

그러나 나는 단순히 내 레이어를 "프레 젠 테이션 계층", "논리 계층"및 "데이터 티어"라는 이름을 지정할 수는 없습니다. 네임 스페이스에서 적절하지 않은

.

이름 지정을위한 아이디어는 무엇입니까?

도움이 되었습니까?

해결책

계층과 층은 때로는 상호 교환 가능하게 사용되지만 미묘한 구별이 있습니다.계층은 물리적이며 레이어가 논리적입니다.더보기 : "레이어"와 "계층"의 차이점은 무엇입니까?

명명을 위해서는, 어떤 종류의 프로젝트가 일하는지, 어떤 유형의 아키텍처가 있는지에 따라 다릅니다.

예를 들어, 저는 호박색이라는 웹 프로젝트가 있습니다.이 프로젝트가 있습니다.

  • amber.logic (논리 및 데이터는이 경우 단일 프로젝트 / 계층으로 결합)
  • amber.tests (테스트)
  • amber.web (프레젠테이션)

다른 팁

다음과 같이 네임 스페이스의 이름을 지정할 수 있습니다.

meormycompany.theapplication.Data

meormycompany.theapplication.logic
meormycompany.theapplication.presentation

때로는 와 같은 하위 네임 스페이스를 추가해야합니다.

meormycompany.theapplication.Presentation.main
meormycompany.theapplication.presentation.dialogs
meormycompany.theapplication.Presentation.Controls
...

그것은 당신에게 달려 있습니다.

프로젝트에 폴더를 만들 때 폴더 이름이 네임 스페이스에 자동으로 추가됩니다. 따라서 "meormycompany.thePplication"이라는 프로젝트가있는 경우 "데이터", "논리"및 "프레젠테이션"이라는 폴더를 추가 할 수 있습니다. "프레젠테이션"내에서 "주", "대화 상자", "컨트롤"또는 적절한 것으로 보이는 하위 폴더를 추가하십시오.

세 티어에 대해 별도의 프로젝트를 만들 수도 있습니다.

예 :

여기에 이미지 설명

여기서 SVG 폴더의 클래스가 자동으로 네임 스페이스가 있습니다

cysoft.slvision.diagrams.shapes.svg

namespace CySoft.SLVision.Diagrams.Shapes.Svg
{
    public class SvgLine : LineShape
    {
        private SvgShapeFactory _context;
        ...
    }

    ...
}
.

단일 응용 프로그램 - 솔루션에서는 일반적으로 다음과 같습니다.

<Company name>.<Application name>.<Tier name>
.

이름 대신에 공백이 포함되어 있거나 너무 길면 약어를 사용할 수도 있습니다.

나는 각 프로젝트 / 어셈블리에 대해이 명명 규칙을 사용합니다.

내 일반적으로 현재의 계층 / 층은

DAL - 내 데이터 액세스 레이어 (예 : EF)

Business - 내 비즈니스 논리 및 엔티티

Facade - 응용 프로그램 로직을 정의하는 내 프리젠 테이션 레이어

UI - 실제 사용자 인터페이스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top