저는 여러 제품 릴리스에서 사용될 라이브러리를 설계하는 중입니다.이 작업의 일부는 .NET 1.1에없는 기능을 보완하는 것입니다. 우리가 필요하기 때문입니다. 그것을 사용하십시오. 아마도 이것의 가장 좋은 예는 String.IsNullOrEmpty 메서드입니다.이 메서드는 우리가 상당히 많이 의존합니다..NET 1.1에서 봉인 된 클래스를 확장하기위한 깨끗하고 직관적 인 접근 방법은 무엇입니까?
.NET의 String 클래스는 봉인되어 있습니다. 어댑터 또는 Decorator 패턴을 사용하여 원래 문자열을 래핑하여 클래스의 기능을 확장하는 방법에 대해 생각해 보았습니다. 그러나이 작업이 내가하려는 작업에 대해 매우 직관적 인 방법이라고 확신하지는 못합니다. 비슷한 질문에 대해서도 another post on StackOverflow을 보았습니다.하지만 방금 언급 한 문제가 다시 제기됩니다.
나는 확실히 내가 찾는 기능을 만들 어댑터를 사용할 수 있지만 나는 모든 문자열이 일을 상상할 수 없다 : 나는 반드시이 방법을 싫어하지 않는
bool isEmpty = new StringExtensionAdapter(myXmlNode.SelectSingleNode(myXpathString)).IsNullOrEmpty();
if (isEmpty)
{
// Do something
}
만 보인다 마치 다른 솔루션이 더 좋은 메모리 관리를하게됩니다. 또한, "StringUtility"라이브러리를 만드는 것이 좋지 않습니다. 그 접근 방식은 제가 따르고 자하는 객체 지향 디자인에서 더 멀어지기 때문입니다.
모든 입력 사항이 유용 할 것입니다. 내가 미쳐서 이러한 접근법 중 하나를 사용해야한다면 알려주세요. 몇 가지가 있기 때문에 솔루션보다 모범 사례를 더 많이 찾고 있습니다.
난 그냥 어댑터 패턴을 추천 작은 샘플을 쓰기 만하고 싶어 ... 당신이 이미 :( –
을 언급 한 것 나는 봉인 된 클래스들, 특히 직렬화 할 수없는 봉인 된 클래스들을 싫어한다. 1.1 이후 SqlDataAdapter를 확장하여 제한된 직렬화를 허용하고 싶었 기 때문에 매개 변수에 대한 자세한 내용을 추한 컴퓨터 생성 코드 더미 대신 좋은 구성 파일에 넣을 수 있었다. . – quillbreaker