Programming
디미터의 법칙
What?클래스의 필드를 공개하는 것이 아닌, 클래스를 설계한 의도대로 함수, 즉 API를 공개하라는 것을 의미한다. Why?Demeter라는 프로젝트르 진행하던 개발자들은 어떤 객체가 다른 객체에 대해 지나치게 많이 아는 것은 결합도가 높아지고, 좋지 못한 설계를 야기한다는 것을 발견했다. How?현재 클래스가 생성한 객체나, 필드의 객체의 공개된 함수만 사용하도록 한다.이 과정에서 .을 통해 함수로 반환된 다른 객체로 접근하여, 로직을 이어가는 것은 지양하도록 한다.class C{public: int GetVal(){return Val;}private: int Val;};class B{public: int GetVal(){return c.GetVal();}private: C c;};class A{..