내 프로젝트에는 문서 관리 시스템이 있습니다. 기본 클래스 Document
과 파생 클래스가 있습니다. 문서의 열기/닫기/활성화 작업을 관리하는 클래스 인 DocumentManager
도 있습니다.FooManager가 Foo.OnSthHappened()를 호출하는 것은 나쁜 습관입니까?
는 Document
과 그 파생 클래스가로드에 무언가를 수행 할 수 있습니다, 등, 마감했다,하지만 상태 변경은 관리자 클래스에 의해 제어된다 Document
클래스 OnLoaded()
, OnClosed()
같은 (가상) 방법이 있습니다 그래서 현재 DocumentManager
클래스에서 호출됩니다. 이 방법을 대중에게 공개하는 것이 불필요한 것 외에는 잘 작동합니다.
대안 디자인은 DocumentManager
클래스 실행 이벤트를 만들고 각 Document
인스턴스는 이러한 이벤트를 구독하는 것입니다. IMHO 큰 차이를 만들지는 않지만 아직 메모리 누수의 위험이 있습니다.
나는 이들 중 어느 것도 "해결책"이 아니며 문제에 대한 최선의 방법이 있다고 생각합니다. 누군가 제발 나를 밝힐 수 있습니까?
관리자, 처리기 등 용어에는 클래스의 기능이 명시되어 있지 않습니다. 그리고 피해야합니다. –
나는 이것을 잘 모르겠다. DocumentManager가 클래스의 기능을 설명하지 않고 다른 이름을 사용해야한다는 말입니까? –