2013-01-06 6 views
0

저는 Factory라는 집중 클래스를 사용하여 모든 뷰 인스턴스의 건물을 중앙 집중화하려고합니다. 모델 내부의 팩토리 클래스를 인스턴스화했습니다. 그러나 나중에이 구조는 문제를 만들기 시작했습니다. 그래서 여기에서 물어보십시오. 그런 "factory"클래스는 mvc 내부에 있어야합니다. 그들이 모델, 뷰 및 컨트롤러와 어떻게 상호 작용해야합니까?MVC에서 일종의 factory 클래스 (인스턴스 생성자)를 사용합니다.

+0

MVC는 아이디어입니다 .Model-View-Controller 무엇을 구현하고 있습니까? ASP .NET MVC? – cjds

+0

Actionscript 3.0의 Robotlegs (또는 puremvc) –

+0

그런데 왜 태그를 붙이지 않았습니까? –

답변

1

MVC 구조로 작업한다고해서 다른 유용한 정보를 잊어 버릴 필요는 없습니다. 이는 3 가지 (또는 RL의 경우 4 가지) 계층으로 애플리케이션을 구조화하여 합리적인 코드를 작성하는 데 그 목적이 있습니다.

모델은 절대로 뷰와 관련된 모든 것을 수행해서는 안됩니다. 표시 객체를 생성하는 팩토리는 뷰 계층에 배치해야합니다. 해당 팩토리가 인스턴스화되고, 초기화되고 사용되는시기와 방법은 여러 가지 요인에 따라 달라집니다. DI/IOC 프레임 워크를 사용하기 때문에, 인스턴스 생성을위한 확실한 선택은 주입 규칙을 설정하는 것입니다. 팩토리를 사용할 부분에 관해서는 여러 가지 가능성이 있습니다. 컨텍스트 뷰 조정자가 컨텍스트보기로 전달할 수 있습니다. 또는 무거운 짐을 싣기위한 명령을 할애 할 수 있습니다. 또는 시스템 이벤트를 청취하고 이에 따라 응답하는 별도의 클래스에 사용법을 캡슐화 할 수 있습니다 (보기없는 중재자의 일종)

단 하나의 작은 점 : Factory은 너무 일반적인 클래스 이름입니다. 그것은 전혀 의도를 전달하지 않습니다. 당신은 당신의 수업에 의미 있고 설명적인 이름을 선택해야합니다. 팩토리가 뷰 인스턴스를 작성하는 경우, 적어도 그 인스턴스의 이름에는 'view'가 포함될 필요가 있습니다. 특정 이름을 찾아야하지만 특정 구현으로 묶이지는 않습니다. 수업이 어느 수준에서 운영되는지에 따라 약간 다릅니다.