배경 내 실제 질문 포즈 전에 여기에 배경을 제공하기 위하여려고하고있다 :MVC4 C# 프로젝트 : 응용 프로그램을 통해 오브젝트의 단일 인스턴스를 제공
내가 ASP.NET MVC 4 프로젝트를 진행하고있다을 C#에서. 현재 내가 겪고있는 개발 작업은이 웹 애플리케이션에 RazorMachine (https://github.com/jlamfers/RazorMachine)을 구현하여 애플리케이션 레이어 (순수 MVC 웹 레이어와 반대)에서 Razor 엔진을 활용하는 것입니다. 일련의 테스트 설비에서 RazorMachine을 성공적으로 구현했으며 모두 잘 작동합니다. 이제는이를 응용 프로그램 계층 내부의 응용 프로그램 아키텍처에 구현해야합니다. RazorMachine (http://www.codeproject.com/Articles/423141/Razor-2-0-template-engine-supporting-layouts)에 대한 자신의 CodeProject의 기사에서
은 야프 Lamfers "는 (때문에 내부 인스턴스를 바인딩 JIT 생성 형 캐싱) RazorMachine의 싱글 인스턴스를 생성하는 어떤 응용 프로그램에서 성능 향상을 위해 일반적으로주의하시기 바랍니다"나와 있습니다.
RazorMachine rm = new RazorMachine();
ITemplate template = rm.ExecuteContent("Razor says: Hello @Model.FirstName @Model.LastName",
new {FirstName="John", LastName="Smith"});
Console.WriteLine(template.Result);
당신은 CodeProject의 사이트에 더 많은 코드 샘플을 볼 수 있습니다 다음과 같이
행동의 코드의 예이다.
내 MVC 응용 프로그램에 RazorMachine 객체의 단일 인스턴스를 제공하는 가장 좋은 방법은 무엇입니까 다음과 같이이와
을 배경으로, 제 질문은?
내가 싱글 톤과 팩토리 패턴과 가능한 구현을 알고 있음을 설명하겠습니다. 그러나 싱글 톤을 사용하면 클래스를 처음부터 작성하지 않아서 제대로 앉아있는 것처럼 보이지 않습니다. 클래스는 이미 존재합니다. 공장도 전적으로 적절하지는 않지만 다른 사람들의 의견을 듣고 싶습니다.
모든 입력 사항을 크게 높이 실 것입니다.
감사 @halcharger 다음을 수행 할 클래스의 싱글 인스턴스를 등록, Autofac를 사용
. 이것은 매우 쉽고 빠르게 구현할 수있었습니다. 나는 그것이 잘 수행되는지 시간이 알 수 있다고 생각합니다. – Ozzy