본문 바로가기

Study/디자인 패턴의 아름다움6

[디자인 패턴의 아름다움] 3. 설계 원칙 - 3.1~3.5 정리 (SOLID) 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. CHAPTER 03. 설계 원칙 설계 원칙에 대한 이해가 충분하지 않으면, 불필요하게 독단적이고 엄격한 사용으로 이어져 결국 역효과를 낳을 것이다. ☆ 이전에 TDD 스터디 때 TDD와 SOLID 관점에서 생각하며 리팩토링 해보는 라이브 코딩을 스터디에 진행해본 적 있다. 해당 내용은 'TDD, Mock, SOLID 얘기 - 도시 가스 요금 계산' 에 있다. 3.1 단일 책임 원칙 (SRP) single responsib.. 2024. 4. 13.
[디자인 패턴의 아름다움] 2. 객체지향 프로그래밍 패러다임 - 2.8~2.9 정리 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. 2.8 인터페이스 기반 프로그래밍 인터페이스 기반 프로그래밍: 모든 클래스에 대해 인터페이스를 정의해야 할까? 인터페이스를 이해하는 다양한 방법 구현이 아닌 인터페이스에 대한 프로그래밍(Program to an interface, not an implementation) 이해할 때 특정 프로그래밍 언어를 떠올리면 안된다 (사고가 해당 언어의 인터페이스 관련 문법에 갇혀 버리기 때문) 인터페이스 : 상위 수준의 추상적인 이.. 2024. 4. 6.
[디자인 패턴의 아름다움] 2. 객체지향 프로그래밍 패러다임 - 2.5~2.7 정리 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. 2.5 객체지향 프로그래밍처럼 보이지만 실제로는 절차적 프로그래밍 오해 : 객체지향 프로그래밍 언어를 개발에 사용하고 모든 코드를 클래스에 넣기만 하면 그것이 바로 객체지향 프로그래밍이라고 생각하는 것 getter, setter 메서드 남용 클래스의 모든 속성에 대한 getter 메서드와 setter 메서드를 정의 -> 캡슐화 특성을 위반한다. 사실상 private로 선언된 속성들도 getter와 setter가 둘 다 있.. 2024. 4. 5.
[디자인 패턴의 아름다움] 2. 객체지향 프로그래밍 패러다임 - 2.3~2.4 정리 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. 2.1~2.2 정리 글 : 링크 2.3 객체지향 분석, 객체지향 설계, 객체지향 프로그래밍을 수행하는 방법 ☆ 예제를 가지고 설명하는 부분이기도 하고, 2.3에 나온 예제가 그리 좋은 예제가 아니라고 생각하다보니, 내용 정리 시 책에 쓰여진 말을 제 생각대로 많이 축약 시켰습니다. 그래서 제가 잘못 이해한 경우, 2.3의 내용정리 부분은 책이 전달하고자 하는 내용과 다를 수 있습니다. 예제 소개와 난이도 분석 HTTP 인.. 2024. 3. 10.
[디자인 패턴의 아름다움] 2. 객체지향 프로그래밍 패러다임 - 2.1~2.2 정리 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. CHAPTER 02. 객체지향 프로그래밍 패러다임 ☆ 패러다임쪽은 공식적인 정의가 명확하지 않은 부분들이 많다. 즉, 사람마다 생각이 다른 부분이 많고, 따라서 내 생각을 적기위한 사족이 좀 많이 들어갔다. 그 부분에 남들과 생각이 다른 부분도 있을꺼고, 내가 현재 잘못 생각하고 있는 것도 있을꺼다. 결국 답은 없고, 토론이 필요한 부분이라 생각된다. 아무튼 그러니 책 내용 정리만을 보고 싶다면 '☆'이 안붙어 있는 항목.. 2024. 3. 3.
[디자인 패턴의 아름다움] 1. 개요 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다. CHAPTER 01. 개요 이 책의 주된 목적은 고품질의 코드를 작성할 수 있도록 돕는 것 1.1 코드 설계를 배우는 이유 데이터 구조와 알고리즘이 효율적인 코드를 작성할 때 필요한 것이라면, 코드 설계에 대한 지식은 확장성과 가독성이 높아 유지 보수가 용이한 고품질의 코드를 작성할 때 필요하다. 고품질의 코드 작성 '나쁜' 코드를 작성하고 싶은 엔지니어는 없을 것이지만, 의외로 많은 소프트웨어 엔지니어가 만족스럽지 못한.. 2024. 2. 24.