패턴 2

[프로그래머의 길, 멘토에게 묻다] 소프트웨어 장인 정신이란? 그리고 견습과정 패턴이란?

책 작가, 데이브 후버 등의 목표 여기서 우리 목표는 새로운 상황에서 새로운 실천을 이끌어 내어 그것으로 소프트웨어 개발이라는 분야를 더 발전시켜 나가는 능력을 갖게 하는 것이다. 44p 소프트웨어 장인정신에 대한 우리의 비전은, 일부는 우리가 이 책을 만들면서 인터뷰했던 고도로 숙련된 개인들에 내재된 가치의 정수이고, 또 일부는 우리가 장차 출현하기를 고대하는 공동체에 대한 표현이다. 이 책에 담긴 사상은 그전 비전에 대한 출발점이다. 그러므로 우리가 소프트웨어 장인정신이라는 말을 쓸 때는, 어떤 가치 기준에 의해 정의되어서 하나로 묶을 수 있는 실무공동체에 대해 이야기하는 것이다. 이러한 가치 기준들은 다소간 중복되는 면이 있으며, 아래와 같은 항목이 포함된다. 45p 가치 기준 (45~48p) '성..

객체 지향

객체 지향 절차 지향과 객체 지향 절차(프로시저) 지향 프로그램은 데이터를 중심으로 한 프로시저로 구성된다. 프로그램 규모가 커져서 데이터 종류가 증가하고 이를 사용하는 프로시저가 증가하게 되면, 다음과 같은 문제들이 발생하게 된다. 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가한다. 같은 데이터를 프로시저들이 서로 다른 의미로 사용하는 경우가 발생한다. 이는 결국 코드의 수정을 어렵게 만들며, 새로운 기능을 추가하는데 많은 구현 시간(즉, 개발 비용)을 투입하게 만든다. 이런 절차 지향과 달리 객체 지향 프로그램은 데이터 및 데이터와 관련된 프로시저를 객체(object)라고 불리는 단위로 묶는다. 객체는 프로시저를 실행하는데 필요한 만큼의 데이터를 가지며, 객체들이 모여 ..