디자인 패턴이 좋지만 문제는 구현하는 것이 지루할 수 있다는 것입니다. 예를 들어, 20 개 이상의 멤버가있는 객체를 꾸미는 것은 간단합니다.C# 속성 및 리플렉션을 사용하여 표시된 객체에 런타임에 바인딩을 삽입/강제 적용하는 방법은 무엇입니까?
그래서이 패턴의 구현을 훨씬 더 빠르고 단순하게 만들기 위해 (기본 클래스 또는 속성으로) 클래스에 적용 할 좋은 디자인 패턴 라이브러리를 만들고 싶습니다.
문제는 ... 어디서부터 시작해야하는지 잘 모르겠습니다. 왜냐하면 저는 속성과 반성에 거의 익숙하지 않기 때문입니다.
나는 (내보내기 태그 유사) 싱글 톤, Multitons 및 장식을 표시 ... 모든 가능한 특성을 활용하고 싶습니다. 하지만 인스턴스의 기능을 변경하는 싱글 톤 속성을 만들려면 어디서부터 시작해야할지조차 모릅니다.
나의 제한된 연구는 속성을 통한 반영/후기 바인딩을 사용하고 어셈블리에서 표시된 모든 클래스에 대한 액세스를 얻음으로써 싱글 톤을 해킹 할 수 있다고 믿게했습니다. 그러나 나는 아직 완전히 아닙니다. 그게 어떻게 될지.
Ninject 1.0이라는 프레임 워크는 Singleton 속성을 만들었지 만 라이브러리가 너무 광범위하고 문서화되지 않아 현재 논리를 따라갈 수 없습니다.
이런 종류의 기능을 갖춘 라이브러리가 많은 개발자에게 큰 공헌을 할 것이라고 생각합니다. 따라서 누군가가 이러한 패턴 중 하나를 속성으로 생성하기 위해 올바른 방향으로 향하게하는 샘플 코드를 제공 할 수 있다면 매우 감사 할 것입니다. 코드는 지나치게 복잡하지 않습니다. 아니면 누군가가 Ninject의 싱글 톤 속성 구현을 통해 나를 걸을 용의가 있기 때문에 내가 그 일을 할 수도 있습니다 ...
시간을 내 주셔서 감사합니다.
이 코드의 샘플을 코드에서 작성해보십시오. 무관 한 점에서, 나는 조금 자신을 조금 모호하다. 디자인 패턴에 대한 이해를 하위 프레임 워크로 체계화하려는시기를 생각해 보면 근본적으로 시간 낭비였습니다. 일상 업무에서 훨씬 더 많은 가치가 있습니다. 그러나 어이, 그것을 위해 가라. 나는 실험을 결코 좌절시키지 않을 것입니다. 막연한 생각을 좀 더 구체적으로 만들 것을 권장하고 싶습니다. – harpo
싱글 톤 속성이 실제로 작업량을 줄이는 지 모르겠지만 멋진 아이디어입니다. 데코레이터 패턴의 경우 리플렉션을 사용하여 모든 대상의 public 멤버를 복제 한 다음 더 많은 리플렉션으로 호출하거나 데코레이터에 액세스하려면 '동적'으로 데코레이터를 입력 할 수 있습니다. 문제는 Intellisense를 포함한 정적 타이핑의 모든 이점을 잃게된다는 것입니다. 타겟 클래스에 가치가있는 멤버가 너무 많으면 리팩터링해야 할 수도 있습니다. –
아마도 Github에서 Ninject의 문서를 개선 할 수 있습니다. Ninject는 이미이를위한 훌륭한 프레임 워크를 제공합니다. 그렇다고해서 더 나은 휠을 만들 수 없다는 의미는 아닙니다. –