본문 바로가기

[IT][정리] 소프트웨어, 누가 이렇게 개떡같이 만든 거야 (Why software sucks) (p.48)"지금 당신이 지시한 작업(그것이 무엇이든 간에)을 정말로 할까요?"와 같은 질문은 하지 말아야 한다. 좋은 사용자 인터페이스라면 처음부터 이런 문제를 발생하는 것을 방지 할 수 있어야 하기 때문이다.똑똑한 사용자 인터페이스 설계자라면 같은 동작에 대해서, 다시 물어 보지 않아야 한다. (p.60)"여러분은 가정용 드릴을 설계하는 사람과 같습니다. 그런데 여러분은 여기서 볼 베어링이냐 롤러 베이링이냐 아니면 에어 베어링이냐 같은 내부 사항에 대해서만 애기하며, 고객이 이런 것들을 다른 어떤 것보다도 중요하게 생각할 것이라 주장하고 있습니다. 틀렸습니다. 고객은 드릴 자체에 대해서는 조금도 신경 쓰지 않습니다. 신경 쓴 적도 없고 앞으로도 계속 그럴 겁니다. 고객은 드릴을 원하기 때문에 드릴을 .. 더보기
[IT][정리] 객체지향의 사실과 오해 : 역할, 책임, 협력 관점에서 본 객체지향 책임 주도 개발What / Who 사이클어떤 행위(What)를 수행 할 것인 지를 결정한 후에 누가(Who) 그 행위를 수행할 것 인지를 결정해야 한다. 책임 주도 설계는 객체가 아니라 객체를 주고 받는 메시지에 초점을 맞추게 함으로 써 객체 지향의 장점을 극대화 한다.묻지 말고, 시켜라( Tell, Don’t Ask )객체 지향적인 사고 방식좀 더 추상적인 인터페이스 : 수신자의 자율성을 보장할 수 있다.최소의 인터페이스 : 외부에서 사용할 필요가 없는 인터페이스는 최대한 노출하지 않는다.인터페이스와 구현 간에 차이가 있다는 점을 인식 : 외부에 공개되는 인터페이스와 내부에 감춰지는 구현객체를 설계 할 때,속성보다는 행동에 집착하고, 객체가 행하는 행동을 통해서 협력하는 것에 중점을 둔 설계를 생각하자.. 더보기
[wise saying] 마틴 파울러 컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 인간이 이해 할수 있는 언어로 코드를 작성한다. -마틴 파울러 - 더보기