2012-11-28 3 views
2

나는 주변을 둘러 보았고 나의 질문에 특정한 것을 발견하지 못했다.하지만 부분적으로는 그것을 구사할 방법이 확실하지 않기 때문이다.비즈니스 레이어에서만 작동하는 개체의 이름을 어떻게 지정합니까?

저는 20 개가 넘는 C# .NET 응용 프로그램을 관리합니다. 모두 비교적 유사한 작업을 수행합니다.

저는 데이터, 비즈니스 로직 및 프리젠 테이션으로 공통 코드를 통합하려고합니다.

제 질문은 비즈니스 로직 레이어와 관련이 있습니다.

비즈니스/도메인 개체는 상태를 보유하고 있으며 때로는 관련 작업을 수행 할 수 있다는 것을 모았습니다 (이 방법을 사용하는 경우).

하지만 루틴을 통해서만 작업하는 객체는 무엇이라고 부릅니까? 예를 들어

: 버튼 이벤트가 발생되는 프리젠 테이션 층에

  1. .
  2. 표현 계층은이 클래스를 가리키며 "RunJob()" 메서드를 호출합니다.
  3. RunJob()은 수행해야 할 모든 작업을 수행 한 다음 마칩니다. 예를 들어, 의 경우 테이블을 읽고 CSV로 출력 할 수 있습니다 (많은 앱은 이러한 앱은 데이터 푸셔입니다). 내부의 필드/속성을 사용하거나 사용하지 않을 수 있습니다. 이러한 속성은 에 데이터를 표시하거나 출력을 생성하는 데 사용할 수 있습니다.

이름이 있습니까? 아니면 실제로 나쁜 패턴입니까/실제로 불량입니까? 나는 이것이 비즈니스 객체 또는 도우미로서 자격이 있다고 생각하지 않는다. 일부 other topics이 "서비스"개체라는 것을 알았습니다.

감사합니다.

+0

그냥 FYI : 나는 "Sevice"수업이 내가 여기에 간다고 생각합니다. 이 대회는 나를 위해 일한다. – kylehammond

+0

그냥 추가 할 ... "서비스"레이어에 이러한 것들을 배치하는 데 걸렸지 만 일반적으로 이러한 것들이 내가 제안했던 것보다 훨씬 더 많이 명명되었습니다. RunJob은 끔찍한 이름이고 나쁜 디자인 (코드 냄새)을 제안합니다. 그렇다면 2012 년에 다시 물었습니다 ... – kylehammond

답변

0

는 지금의 WorkerThread와 "http://www.objectmentor.com/resources/articles/Naming.pdf 이름을 지정하십시오. 다음 합리적인 뭔가 이름을 변경 삼촌 밥의 문서를 참조 호출합니다.

클래스가 반드시 나쁜 클래스가 아닙니다. 대부분의 개체는 일반적으로 많은 행동을하지 않아도, OTOH 일부 도우미 클래스에는 상태가 많지 않습니다.

0

개체 이름은 구체적으로 어떤 작업을하는지에 따라 달라집니다. TableImporter 및 CsvExporter는 설명 된 작업의 올바른 이름이며 적절한 이름이 지정되어야합니다. 당신이 인터페이스를 추상화하고자하는 경우에는 Runner이고 일반화 된 방법은 y를 분리하는 RunJob입니다. 우리의 프리젠 테이션 및 모델 레이어가 있지만 컨트롤러를 대신 사용하면 더 명확하고 분리 될 수 있습니다.

관련 문제