Spring, Java 개발자 입니다

IT 서적/이펙티브 자바

이펙티브 자바

2장. 객체 생성과 파괴올바른 객체 생성 방법과 불필요한 생성을 피하는 방법, 객체의 소멸을 보장하고 소멸 전 수행해야 할 정리 작업을 관리하는 요령을 확인.아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라클래스 생성자와는 별도로 정적 팩터리 메서드를 제공할 수 있는데 정적 팩터리 메서드를 통해 그 클래스의 인스턴스를 반환.정적 팩터리 메서드를 통한 장점은 다음과 같다특정 이름을 통하여 인스턴스를 반환 받을 수 있다.호출될 때마다 인스턴스를 새로 생성하지 않도록 할 수 있다.반환 타입의 하위 타입 객체를 반환할 수 있다.입력 매개변수에 따라서 다른 객체를 반환할 수 있다.정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다.하지만 정적 팩터리 메서드를 사용함에 있어서 단..

IT 서적/객체 지향의 사실과 오해

객체 지향의 사실과 오해

객체 지향의 사실과 오해를 읽으면서 객체 지향이 무엇인가에 대해서 다시 생각해보는 좋은 계기가 됬던것 같다.객체 지향이 단순히 모든것을 객체로 풀어냈고 객체간의 상호작용을 하는 과정이라고 생각 했다면 단순히 그 것을 뛰어넘어 객체지향적 프로그래밍에 대한 생각을 심도있게 다룬 책이었다.Chapter 03객체생성에 관한 내부적인 상황을 먼저 파악해야 한다.객체의 행위 자체에 집중하고 행동자체에 집중하여 관계를 파악하고 객체를 정의 해야 한다.객체생성의 중심은 “행위” , “동작” 을 중심으로 생성해야 한다.Chapter 04A객체와 B 객체의 협력위주 input, output을 생가가여 서로의 책임위주의 설계를 진행해야 한다.OOP의 가장중요한 핵심은 충분히 자율적인 동시에 충분히 협력적인 객체를 창조하는 ..

IT 서적/오브젝트

오브젝트

Chapter 9 유연한 설계01 개방-폐쇄 원칙 개방-폐쇄에 대한 원칙 : 확장 가능하고 변화에 유연하게 대처할 수 있는 설계를 만드는 원칙 중 하나로 소프트웨어 개체는 확장에 대해 열려있어야 하고 수정에 대해서는 닫혀 있어야 한다. 컴파일타임 의존성을 고정시키고 런타임 의존성을 변경해야 한다.유연하고 재사용 가능한 설계에서 런타임 의존성과 컴파일타임 의존성은 서로 다른 구조를 가진다.기존 클래스를 전혀 수정하지 않은 채 어플리케이션의 동작을 확장할 수 있는 방법으로 확장에 대해서는 열려있는 설계를 진행해야 한다. 개방-폐쇄 원칙을 수용하는 코드는 컴파일타임 의존성을 수정하지 않고도 런타임 의존성을 쉽게 변경 할 수 있다. 추상화가 핵심이다.추상화 부분은 수정에 대해 닫혀 있다. 추상화를 통해 생략된 ..

IT 서적/모던 자바 인 액션

모던 자바 인 액션

Chapter 15 CompletableFuture와 리액티브 프로그래밍 컨셉의 기초멀티코어 프로세서가 발전함과 동시에 애플리케이션의 속도는 멀티코어 프로세서를 얼마나 잘 활용할 수 있도록 소프트웨어를 개발하는가에 따라 달라질 수 있다는 것이 확인 되었고 마이크로서비스 와 같은 아키텍처의 선택이 지난 몇 년간 증가하면 멀티태스크 프로그래밍에 대한 중요성이 증가되었다. 동시성 VS 병렬성동시성은 하나의 코어에서 여러개의 작업을 진행 병렬성은 여러개의 코어에서 여러개의 작업을 진행.동시성을 잘 활용할 수 있도록 Future 인터페이스를 이용하여 CompletableFuture 를 구현하여 사용 할 수 있도록 한다. 15.1 동시성을 구현하는 자바 지원의 진화 스레드를 이용하여 동시에 또는 협력적으로 프로그램..