2013-07-03 2 views
4

MVP를 사용하여 C# 프로젝트를 구성하고 있습니다. 이전에 CRUD 작업이 포함 된 IModel 인터페이스가 있었지만 이후 CRUD 작업을 포함하는 여러 모델 인터페이스 (예 : INotebookModel, ICategoryModel, IItemModel 등)로 분할했습니다.MVP - 발표자에게 하나의 전체 모델 또는 여러 모델이 있어야합니까?

적절한 특정 모델 (예 : create (String type))에 위임하거나 발표자의 특정 모델에 대한 참조 만 보유하는 CRUD 메소드가있는 전체 모델을 만드는 것이 더 좋습니까?

여러 모델을 만드는 것이 좋지 않은 경우 모델 개체를 만들거나 업데이트 할 수 있도록 적절한 매개 변수를 전달하려면 어떻게해야합니까? 각 개체마다 다른 정보가 필요합니다.

답변

0

다른 모델을 사용하는 것은 나쁜 방법이 아닙니다.

이것은 확실히 복잡한 디자인을 만들지 만 확실히 앱의 유지 관리 가능성을 높입니다. 향후 업그레이드에서 진화해야하는 앱을 제작하는 경우 모델을 여러 모델로 분리하십시오. 이 기능은 앱에 다른 엔티티를 추가하려는 경우에 도움이됩니다.

책을 사람에게 할당하면 IPersonModel 인터페이스를 추가하고 나머지 세 인터페이스 (INotebookModel, ICategoryModel, IItemModel)는 그대로 유지됩니다.

그러나 응용 프로그램이 간단하고 빠른 개발을 선호하려면 모델을 하나의 큰 모델로 중앙 집중화하십시오. 그러나 앱이 커지면이 모델은 거의 모든 앱의 책임을 처리 할 것이기 때문에 점점 더 복잡해 지므로 여러 모델로 분해해야합니다.

책임 성을 분리하면 솔리드 중 하나입니다. 자세히 살펴보면 다음과 같습니다. http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

관련 문제