2011-04-14 2 views
6

데이터베이스에 액세스해야하는 응용 프로그램을 개발하기 시작합니다. DB 클라이언트를 SQL에서 Oracle로 변경하는 것과 같이 응용 프로그램을보다 융통성있게 만들기 위해 일반적으로 어떤 유형의 디자인 패턴을 구현해야합니까?데이터베이스 액세스 응용 프로그램에서 어떤 디자인 패턴을 적용해야합니까?

나는 어떤 쿼리의 실행을 믿고 Template Method Pattern을 구현할 수있다. 그리고 연결을 얻으려면 double check로 singleton 패턴이면 충분합니다.

시작하기 전에 알아야 할 것이 있습니까?

응용 프로그램은 C#으로 개발되므로 개체 상속 및 다형성이 지원됩니다.

도움을 주시면 감사하겠습니다.

답변

8

모든 코드가 데이터 액세스 레이어에 캡슐화되어 있는지 확인하십시오. 새로운 데이터 액세스 라이브러리를 작성해야하는 경우 모든 호출 코드를 변경할 필요가 없도록 인터페이스에 대해 코드를 작성하십시오. 이렇게하면 최소한 모든 데이터 액세스가 라이브러리에 격리됩니다. 데이터베이스의 변경 가능성은 얼마나됩니까? 이 소프트웨어가 삶을 더욱 어렵게 만들 것이므로 what-ifs를 위해 소프트웨어를 복잡하게 만들지 마십시오.

+1

내일은 없다는 스팸 인터페이스! –

+3

+1 what-ifs 용으로 소프트웨어를 복잡하게 만들지 마십시오. DBMS를 완벽하게 변경하는 기능은 거의 유용한 디자인 목표는 아닙니다. –

+2

+1 @ 대장에게 감사드립니다 - 수없이 많은 상황을 처리하기 위해 작성된 소프트웨어에 자주 직면했습니다! – tomasmcguinness

1

당신이 C 번호에 통합해야합니다, Data Access Object라는 좋은 디자인 패턴이있다.

요약 : DAO가 데이터 소스로 작업하는 데 필요한 액세스 메커니즘을 구현

. 데이터 소스는 RDBMS와 같은 영구 저장소하는 B2B 교환과 같은 외부 서비스, LDAP 데이터베이스와 같은 저장소, 또는 수 CORBA 인터넷 간 ORB 프로토콜 (IIOP) 또는 저를 통해 액세스 비즈니스 서비스 - 레벨 소켓. DAO를 사용하는 비즈니스 구성 요소는 을 사용합니다. 클라이언트의 경우 DAO에 의해 노출 된 간단한 인터페이스입니다. DAO 은 클라이언트에서 데이터 소스 구현 세부 정보를 완전히 숨 깁니다. 인터페이스는 기본 데이터 원본 구현 변경,이 패턴 는 DAO가 클라이언트 또는 비즈니스 구성 요소에 영향을주지 않고 다른 저장 방식에 적응 할 수 있습니다 때 을 변경하지 않는 클라이언트에 DAO에 의해 노출 때문입니다. 기본적으로 DAO는 구성 요소와 데이터 원본 사이에 어댑터로 작동합니다.

+0

데이터 액세스 개체에 대한 링크가 작동하지 않습니다. 또 다른 좋은 방법은 여기에 있습니다. - http://www.oracle.com/technetwork/java/dataaccessobject-138824.html – simonbor

6

초록 '유용한 기능'을 명확하게 볼 수있는 경우에만 '빠른 시일 내에'표시됩니다.
그렇지 않으면 시간 낭비 일뿐입니다.

내가 패턴을 사용한다 [X]는

이 같은 생각 [Y]를 해결할 수 있기 때문에 : 같은

생각하지 마십시오

오 쓰레기를 다시 얻었다 같은 물건을 쓴다. 우리가 어떻게 그걸 피할 ​​수 있는지 보자 ...

관련 문제