2009-12-16 4 views
2

데이터베이스의 데이터에 액세스하기 위해 Google 공급 업체 중 한 곳에서 사용할 API를 개발 중이며 클래스 이름을 지정해야합니다. 나는 리트리버, 접근 자 및 컨트롤러 (예 : TimesRetriever, TimesAccessor, TimesController 등)와 같은 이름을 생각하고 있습니다. 이 클래스는 데이터베이스에서 읽기 전용으로 액세스 할 수있는 데이터를 제공합니다 (요약하면됩니다). 설명했던 내용에 대해 일반적으로 동의하는 명명 규칙이 있습니까?데이터베이스에서 데이터를 가져 오는 개체에 공통 이름이 있습니까?

답변

2

Martin Fowler (www.martinfowler.com)는 이러한 유형의 질문에 대한 좋은 출처입니다. 이후, 당신은 정말로 디자인 패턴에 대해 이야기하고 있습니다.

가장 좋은 추측은 리포지토리 패턴 (http://martinfowler.com/eaaCatalog/repository.html)입니다. 사이트에서

는 :

개념적 리포지토리 는 지속성보다 객체 지향 뷰 를 제공하는 데이터 저장소에 유지 오브젝트 세트 및 그들을 수행 동작을 캡슐화 층.

당신이하려는 것과 같은 소리.

1

간단한 제안 ... 왜 "데이터베이스"라고하지 않습니까? 그것은 당신이 얻을 수있는 것처럼 분명한 것입니다. 이를 읽을 때 모든 데이터가 즉시 어디서 오는지 알 수 있습니다.

0

나는 "Manager"접미사를 가장 많이 사용하는 사람들을 보았습니다. 나는 사람들이 just_wes가 제안한대로 Database를 사용하는 것을 보았다. 예 : TimesManager 또는 TimesDatabase 또는 데이터베이스.

+0

-1 이는 Manager를 클래스 이름으로 제안합니다. – akuhn

+0

해야 할 일이 있다면 mod를 사용하십시오.하지만 그의 질문은 "일반적으로 사용 중"이라는 용어를 요구하고 있습니다. 나는 * Manager를 태양 아래있는 모든 것에 사용하는 것이 좋지 않을 수도 있다는 것에 동의하지만 실제로는 데이터 액세스 레이어에서 매우 일반적인 용어입니다. –

0

그것은 LLBLGen에서 "어댑터"라고 프로

그것은 델파이의 DataSnap 그리고 자바 SDO

나는 일반적으로 동의 명명 규칙이 있다고 생각하지 않습니다에서 제공 불렀다.

나는 제공자 또는 리트리버를 사용하는 경향이 있습니다.

0

"컨트롤러"는 다른 것을 의미합니다. "접근 자"는 종종 DB 액세스 클래스에 사용됩니다. 이런 종류의 일을 위해서, 나는 일반적으로 그것을 보고서로 생각합니다. 즉, DB에 대한 완전한 액세스 권한을 부여하지 않고, 특정 선택 사항 (필자는 가정)을 기반으로 보고서를 표시하는 것입니다. 따라서 출력 형식이 허용하는 경우 (특히 CSV 인 경우) 전체 프로젝트를 보고서를 실행하기위한 API로 다시 씁니다. 그게 가능하지 않다면, 나는 "접근 자"와 함께 갈거야.

관련 문제