저는 작업중인 webapp에서 객체 모델/웹 서비스를 구성하는 좋은 방법을 결정하는 데 어려움을 겪고 있습니다. 우리는 서로 다른 페이지가 표준 객체에 대해 약간 다른 관점을 필요로하는 공통된 문제가 있습니다. 예를 들어 조직에는 일대 다 팀을 보유 할 수있는 팀 및 조직 유형이 있습니다. 한 페이지에 내가 필요로하는 모든webapp 객체 모델을 구성하는 좋은 방법은 무엇입니까?
class Team {
long TeamID { get; set; }
string Name { get; set ;}
TeamType TeamType { get; set; }
}
같은 것입니다 그러나 다른 페이지에 나는 그런 물체의
class Team {
long TeamID { get; set; }
string Name { get; set ;}
string OrganizationName { get; set; }
string TeamPicture { get; set; }
}
종종 투사가 여러 테이블에 걸쳐 같은 데이터의 다른 투사가 필요합니다. 내 생각에 팀과 조직의 모든 데이터를 쿼리하고 전달한 다음 페이지에서 필요한 부분 만 사용하는 것이 좋지 않습니다. 내가 불필요한 데이터의 엄청난 양의 쿼리 및 시스템 주위에 흐르는 결국 것 같습니다.
내 현재 모델은 각 투영에 대해 별도의 유형을 만드는 것입니다. 형식 안전성을 좋아하지만이 문제는 Team, SimpleTeam, TeamAndOrganization 등과 같은 유형이 있습니다. 예를 들어 team/organization을 사용하고 있지만 여러 가지 다른 문제가있는 동일한 문제를 발견했습니다. 내 시스템의 유형.
어떻게 처리합니까? WCF를 사용하여 webapp와 백엔드 시스템간에 데이터를 전달합니다.
확실히 서비스 방법의 폭발로 이어지게됩니다. 이것은 끔찍한 일입니다. 주변에 떠 다니는 여분의 데이터에 대한 염려로 perf/scalability에 지나치게 우려하고 있습니다. 제품이 잘 팔리고 있으며 사용자 기반이 꾸준히 늘었습니다. 과정을 계속 진행하면 내년에 1000 명 이상의 동시 사용자가 표시됩니다. – AgileJon
성능과 유지 관리간에 균형을 유지해야합니다. 일반적으로 성능이 문제가 될 때까지 유지 보수 가능성을 가지게되고 성능을 개선하기 위해 필요에 따라 리팩터링을 수행하게됩니다. – tvanfosson
와우, 일반 디자인 (조숙 한 최적화가 모든 악의 근원 인)을 몇 번이나 읽었지만 내 디자인에 공감하지 않는 것 같습니다. 고맙습니다! – AgileJon