2009-04-23 1 views
1

두 계층 응용 프로그램을 고려하고 있습니다. 그러나 나중에 3 단계 응용 프로그램으로 변환 할 수 있습니다. 거기에 어떤 디자인 패턴/프레임 워크/기술이 도움이됩니까? 두 계층을 고려하는 주된 이유는 다음과 같습니다.두 계층 응용 프로그램을 나중에 세 계층 응용 프로그램에 수정할 수 있습니다.

1) 응용 프로그램을 실행하는 데 단일 로우 엔드 데스크톱 시스템을 사용할 수 있습니다.

2) 현재 단일 사용자입니다.

3) 네트워크 연결이없는 원격 위치에서 응용 프로그램을 실행해야합니다.

우리의 아이디어는 연결이없는 두 계층으로 응용 프로그램을 배포하고 연결이있는 세 계층으로 사용하는 것입니다.

+0

한 가지 옵션은 Silverlight/WPF + .NET (ADO.NET)을 사용하는 것입니다. 독립 실행 형 응용 프로그램 또는 서버에 배포 된 상태로 실행하십시오. 이 접근법에는 한계가 있습니까? (나는 기본적으로 자바 사람이고 닷넷 기술에 익숙하지 않다.) –

답변

1

당신은 당신의 개발 플랫폼이 무엇인지 언급하지 않은, 그래서 제가 감사를 해결 나도 같은 경험을했다

:-) 내 자신의 경험과이 응답 할 수 있습니다 .NET을 가정합니다 .NET Remoting의 유연성에 이르기까지

이론적으로 클라이언트 서버 응용 프로그램으로 구현 된 경우 응용 프로그램을 빌드 할 때 서버에 배치 할 응용 프로그램의 부분을 고려하십시오. 이러한 모든 클래스를 별도의 라이브러리에 저장하고 클라이언트 응용 프로그램을이 라이브러리에 직접 연결하면됩니다.

클라이언트 - 서버로 전환하려면이 라이브러리가 Windows 서버에서 호스팅되고 클라이언트와 서버를 적절하게 구성하도록 만들 수 있습니다.

물론 여기에는 엄청난 양의 세부 정보 (MarshalByRef 개체, 직렬화 가능 개체, 통신을 구성 할 수있는 방대한 수의 개체)가 남아 있습니다. 이미 중복 된 기능에 대해 이야기하고있을 수도 있습니다. WCF.

그러나 핵심은 비즈니스 로직/데이터 액세스 계층을 클라이언트 응용 프로그램에서 호스팅하는 별도의 DLL로 격리 한 다음 나중에 클라이언트 서버로 전환하는 문제를 해결할 수 있다는 것입니다.

+0

어떤 개발 플랫폼 (Micorsoft 스택 - Silverlight/WPF/.NET, Flex/AIR, Swing/J2EE)에 대해서도 공개되어있다. –

+0

또 다른 환경은 두꺼운 클라이언트가 아닌 웹 기반의 3 단계 응용 프로그램. –

관련 문제