반응형

객체지향 6

태태개발일지 - 도메인 주도 설계의 사실과 오해 후기(조영호 강사님)

Next Step에서 진행하는 DDD 강의를 듣게 되었다. 수강료는 18만원으로 2일에 거쳐서 4시간씩 진행되는 강의였다. 수강 이유프로젝트에서 클린 + 레이어드 아키텍처로 진행하다가 도메인을 나눌 때 어떻게 나누어야하는지 궁금했고, DDD라는 개념을 접했는데 이에 대해서 더 알고싶어 수강을 하게 되었다. 강사님조영호 강사님이다. 객체지향으로 유명하시고, 이분의 인프런 강의를 수강한 상태로 진행 되었다. 시작DDD와 객체지향에 대해 오해가 있는 것 같다.  DDD를 사용하면 문제가 해결된다.?DDD 너무 어려워 안할래? 객체지향과 도메인주도 설계의 차이점 객체지향알고리즘과 데이터의 조화를 통해 작은 문제를 해결하는 것이다. 도메인 주도 설계(디자인패턴, 단위테스트, 아키텍쳐) 이러한 기술들을 비지니스로직..

태태코딩 - 객체지향 원칙

객체지향 1원칙 : 협력에 필요한 행동을 먼저 결정하고, 행동에 적합한 객체를 나중에 선택하라.2원칙 : 객체의 행동을 먼저 구현하고, 행동에 필요한 데이터를 나중에 선택하라.  절자적인 설계의 문제점 1. 프로세스와 데이터를 나누어서 설계한다. 2. 모든 상황의 getter와 setter를 설정해야했다. ex) 1. 프로세스와 데이터를 나누어서 설계한다는 뜻의 예reservation service 에서 예약이라는 행동을 하기위해서 주문 정보와 여러가지를  가져오게 되는데. 만약 reservation service에서 주문의 총 가격을 계산한다거나, 단순히 예약에 관한 메서드가 아닌, 모든 프로세스가 따로 만들어진다면, 유지보수가 힘들어진다.  유지보수가 힘들어지는 이유: 이를 절차적인 프로그래밍이라고 ..

객체지향 2024.12.25

태태개발일지 - 객체 지향 생활 체조 원칙

자바 플레이그라운드 with TDD, 클린 코드항해 플러스 백엔드 코스가 끝난 후. 약 3달간 해보고 싶은 공부에 대해 정리를 해보았다.1. Java 심화적으로 파고들어서 공부하기2. 디자인 패턴 공부하기3. Query Dsl 공부하기4. JPA 복습하기5. 스프링 기본원리 공부하기6. TDD 공부하기  너무 방대해 보이지만, Query Dsl, 스프링 기본원리는 퇴근후, JPA는 출퇴근할때  TDD는 자바 플레이 그라운드로, 디자인 패턴은 책으로 공부할 예정이다. 향후에는 Redis , Kafka, Docker, Index 등등 항해에서 나왔던 내용들을 더 심화로 공부할 예정이고 1~6번에 부족한 부분들은 더 연장해서 공부할 예정이다.객체지향 생활 체조 원칙 - 책에서  주장하는 9가지의 원칙은 다음과..

태태개발일지(JAVA 상속)

요즘은 퇴근 길에 인프런 강의중 김영한 선생님의 Java 기본 강의를 듣고있다. 자바에 대한 완벽한 심화 강의는 아니지만, 그래도 JAVA를 앞으로 계속 사용할 거라 돈을 주고 구매한 후 쭉 듣는데 상속 부분에서 머리에 넣어야 할 부분이 생긴 것 같아서 글로 작성한다. https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8 학습 페이지 www.inflearn.com 상속의 개념. 상속 : 비슷한 속성을 가진 객체들의 부모를 만들어서 중복된 코드를 제거하고, 재사용성을 늘린다. 기존에 인지하던 상속? 사실 상속에 대해서 공..

JAVA 2024.01.09

회고 13일차

객체지향의 가장 중요한 원리인 추상화 다형성 상속 캡슐화에 대해 모두배우고 이 원리를 모두 적용해 간단한 프로그램을 제작했다.여기서 깨달은 아주 중요한 원칙 3가지를 확인하면서 설명하겠다. 1. 한 클래스는 하나의 역할만 하게 끔 설계한다.ex) 장바구니 클래스는 주문의 역할을 맞게 할 필요가없다. 2. 한 클래스가 다른 클래스와 관계를 맺고 있을 때 그 다른 클래스의 직접적인 정보에 대해 알게 할 필요가 없다.ex) 자동차와 바퀴가 연관을 맺을 때 바퀴가 현대 바퀴인지 기아 바퀴인지 자동차 클래스가 알게끔 하면 안된다. 3. 공통적인 특성이나 속성을 모아 추상 클래스나 인터페이스로 모아 구현, 상속받게 한다.ex) 현대 자동차, 기아 자동차등 속성이 비슷한 상황이라면 중복코드를 줄이기 위해 위와 같은 ..

회고 12일차

오늘은 상속, 추상화, 캡슐화, 다형성을 모두 배웠고, 그것을 한반에 적용한 카페 키오스크 프로그래밍을 했다. 일단 개념만 정리하면 이렇다.추상화는: 공통점을 뽑아 내는 것이고,상속은 다중상속이 안되고 단일 상속만 가능하다.하지만 인터페이슨 다중 구현이 가능하다. 추상메서드인터페이스일반 클래스(o)일반 메서드(x)단일 상속다중 구현(o)표로 나타내자면 이렇다.다형성이란 -> 같은 참조변수를 사용할 때 다양한 결과를 가지는 것을 의미하고,상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것이다. ex) GirlFriend friedn = new GirlFriend();Friend friend = new GirlFriend();즉 위에 클래스가 Friedn에게 상속당해있다면..

반응형