Posts

Post contents

객체 지향 설계(SOLID)

Understanding SOLID for object oriented programming

1. Intro 객체 지향의 4대원칙(캡슐화, 상속, 추상화, 다형성)과 더불어 객체 지향의 원칙을 살려 설계 하는 방법을 가진 SOLID가 존재한다. 5가지의 내용의 앞 단어를 따서 만들어 진 내용이다. SOLID 원칙들은 결국 자기 자신 클래스 안에 응집도는 내부적으로 높이고, 타 클래스들 간 결합도는 낮추는 High Cohesion - Loo...

C++ RVO, NRVO에 대해서 알아보자.

C++ RVO(Return Value Optimization), NRVO(Named Return Value Optimization)

Intro C/C++를 사용하는 이유 중 하나로는 빠른 속도와 커스터마이징 가능한 자언관리 등의 최적화를 위해서 사용할 것이다. 이러한 부분에서 코드를 개발하면서, 컴파일러단에서 부터 코드를 최적화 시켜서 더욱 바르게 실행 할 수 있도록 하려는 노력들이 많이 있다. 이처럼 C/C++ 에서는 내가 원하는대로 코드를 작성하더라도 컴파일러에의해 최적화 ...

C++ 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자.

Make interface design easy to use properly and difficult to use poorly.

Make interface design easy to use properly and difficult to use poorly C++을 개발하면서 크로미움과 같은 큰 프로젝트 뿐만아니라 개인이 만드는 작은 프로젝트까지 모든 분야에서는 쉽게 볼 수 있는것이 인터페이스이다. 함수도 인터페이스고, 클래스, 템플릿 또한 인터페이스이다. 이처럼 쉽게 찾아 ...