2012-06-19 3 views
0

요즘 나는 내가 작업하고있는 다른 클래스/개체를 모두 구성하는 데 어려움을 겪고있는 것 같습니다. 필자의 경우, 나는 핵심 제품이 다른 회사를 위해 일하지만 핵심 기능을 일부 공유합니다. 그래서, 그들은 또한 수업을 공유 할 것입니다. 물을 조금 더 진흙 투성이로 만들기 위해 ASP.NET MVC 앱을 쓰고 있는데 - 클래스 (모델 폴더)의 암시 적 위치가 있습니다.내 수업/개체 - 일반 프로젝트 디자인 넣기

그래서 여기에 우리가 현재하고있는 일이 있습니다. 나는이 제품을 NewProduct이라고 부를 것이다. 모든 제품에 사용되는 클래스 -

  • xxx.Core : xxx는 회사 이름입니다. 이들은 도우미 함수, 논리가있는 실제 클래스 등이 될 수 있습니다.
  • xxx.NewProduct.Web - NewProduct 용 MVC 웹 응용 프로그램. 모델 폴더가 비어 있습니다.
  • xxx.NewProduct.WindowsService - Windows 서비스 - NewProduct의 일부입니다.
  • xxx.NewProduct.Models - 기본적으로 이것은 MVC 웹 응용 프로그램의 모델 폴더를 대체합니다. 그들은 자신의 프로젝트에 있으므로 DomainLogic이이를 채워서 MVC 응용 프로그램에 다시 전달할 수 있습니다.
  • xxx.NewProduct.Objects - 로직 클래스 (하지 모델 같은 단지 해골) 윈도우 서비스 사이에 공유됩니다.
  • xxx.NewProduct.DataAccess - 여기가 내 질문에 중요한 부분이 아닌 DAL입니다.
  • xxx.NewProduct.DomainLogic - 이것은 비즈니스 로직 계층입니다 (DAL을 호출합니다). 앞으로도 다른 앱 (모바일, 데스크톱 등)을 작성한다면 이것도 재사용 할 수 있습니다.

내 주요 문제는 개체를 넣을 위치를 결정하려고 할 때 어디에 넣을 지 잘 모르겠다는 것입니다. 이게 정상인가? 다른 사람들도이 문제가 있습니까? 어떤 제안?

답변

1

물론 정상입니다! 모듈을 나눌 올바른 방법이 없습니다. 그러나 이것에 너무 많은 시간을 소비하지 마십시오. 우리는 IDEs 시대에 살고 있습니다 - 당신은 항상 리팩토링 할 수 있습니다. 나를 위해, 가장 중요한 것은 가독성입니다. 팀의 다른 프로그래머가 일부 클래스/기능을 찾으면 놀라지 않아야합니다. 그게 전부입니다. 예를 들어, 내가 무엇을 찾을 수있는 개체라는 개체 (하지만 난 모르겠다 .net 또는 응용 프로그램의 특정).