2012-11-11 2 views
0

저는 ASP.NET 응용 프로그램과 VB6 응용 프로그램으로 구성된 대규모 프로젝트를 상속 받았습니다..NET 프로젝트 범주

내가 따라갈 때 코드를 리팩토링하려고합니다. 내 질문은 : 단일 프로젝트를 여러 프로젝트로 분할하기위한 지침은 무엇입니까? 필자는 온라인에서 연구했으며 일부 개발자는 Business Logic Layer 및 Data Logic Layer에 대해 별도의 프로젝트를 만들라고 말했지만 다른 사람들은 Utilities 프로젝트가 있다고 말합니다.

다른 개발자가 사용하는 프로젝트의 범주는 무엇입니까? 나는 종류의 명부를 찾고있다.

답변

1

시스템이 매우 복잡한 경우 하위 시스템별로 여러 프로젝트로 분할 할 수 있습니다.

코드 전체에

스티브 맥코넬이 쓴 :

"공통 서브 시스템 :

  1. 비즈니스 규칙 :. 비즈니스 규칙은 당신이 컴퓨터 시스템에 인코딩 법률, 규정, 정책 및 절차에있는 당신의 경우 급여 시스템을 쓰고 있다면, 당신은 IRS로부터 허용 가능한 원천 징수와 예상 세율에 대한 규칙을 암호화 할 수 있습니다. ...

  2. 사용자 인터페이스. e 사용자 인터페이스 구성 요소가 포함되어있어 사용자 인터페이스가 나머지 프로그램을 손상시키지 않고 진화 할 수 있습니다. ...

  3. 데이터베이스 액세스. 대부분의 프로그램이 저수준 구조를 다루는 지저분한 세부 사항에 대해 걱정할 필요가 없으며 비즈니스 문제 수준에서 어떻게 사용되는지에 관한 데이터를 처리 할 수 ​​있도록 데이터베이스에 대한 구현 세부 사항을 숨길 수 있습니다 . ...

  4. 시스템 종속 관계. 하드웨어 종속성을 패키징하는 동일한 이유 때문에 운영 체제 종속성을 하위 시스템으로 패키지화합니다. 예를 들어, Microsoft Windows 용 프로그램을 개발하는 경우 Windows 환경을 제한해야하는 이유는 무엇입니까? Windows 인터페이스 하위 시스템에서 Windows 호출을 분리합니다. 나중에 맥 OS 나 리눅스로 프로그램을 이동하려는 경우, 당신은 변경해야합니다 모든 인터페이스 서브 시스템입니다. "

또한 일반적으로 사이클 참조를 찢어 만든 sonamed 공통 프로젝트를 분리 할 수 ​​있습니다

+1

시스템 종속성의 의미를 명확히 할 수 있습니까? 다른 프로젝트의 여러 클래스에서 사용되는 클래스를 사용한다고 가정 해 보겠습니다. 감사합니다. – w0051977

+0

내 대답을 세부 정보로 업데이트합니다. –

+0

감사합니다. Windows에 제한된 .NET 플랫폼 용으로 개발 중입니다 .NET 용 포인트 4를 확장 할 수 있습니까? – w0051977