Singleton is't guaranteed process-wide
Singletone으로 만들어주는 static method의 경우에는 Process에 귀속되지 않는다.
.NET에서는 Singleton은 AppDomain에 유일한 존재로 staic 을 생성하게 된다.
Default performance of Data.ReadXML is poor
ReadXML의 경우에는 xsd 파일이 지정되어있지 않는 경우에는 매우 속도가 느리게 된다.
Data.ReadXML을 사용하는 경우에는 반드시 xsd 파일을 지정해줘야지 된다.
enum lacks type-safety
enum 형태는 int 형태에 의미를 부여할 수 있는 형태로, 사용이 매우 편한 형태이지만, int의 casting을 시켜줄때는 type-safety가 이루어지지 않기 때문에 사용에 주의를 해줘야지 된다.
Copy constructor hampers exensibility
Constructor에서 다른 객체의 copy를 만드는 형태의 경우에는 모든 객체의 값들을 같이 참조하는 형태로 만들어지게 된다. 따라서 하나의 객체의 값이 바뀌게 되면, 다른 객체의 값까지 바뀌게 되는 형태로 만들어지기 때문에 피하는 것이 좋다.
이러한 copy constructor의 문제는 C++, Java, .NET에서 모두 같이 발생하는 문제가 된다.
Clon() has limitations
"copy constructor hampers exensibility"와 동일한 문제가 발생한다.
MemberwiseClone()의 경우에도 역시 마찬가지로, 같은 문제가 발생하기 때문에, 두개의 각각 다른 id를 갖지만 같은 객체의 값을 갖는 copy본을 만들어주고 싶을 때는 주의가 필요하다.