디자인패턴 2

Java refactoring 자바 리펙토링 하루만에 파해치기

리펙토링강의 3/10OOP(Object Oriented Programming) 리펙토링중요한것 : operation(method) - interface등을 통해 전체 구조를 알 수 있기 때문더 중요한것 : 개발경험 - 개발경험을 통해서 다른 코드와 비교가 가능하기 때문(비교를 통해 불편&더러운 코드인 것을 파악)Java가 1.0->2.0->...->8.0 버젼이 올라가면서 달라지는 것을 직접 개발하는 것도 개발경험리펙토링겉으로 드러나는 기능은 그대로 - interface를 수정X @Override으로 메서드를 추가하여 구조변경을 하는게 중요!!코드 구조 변경 즉 기능추가X - like 자동차 튜닝가독성 높이고 유지보수 - 기존코드 절대 건드리면 안됨(특히 interface)오류해결은 리펙토링X기능추가 !..

[Effective Java]생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라.

규칙 2 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라. Builder pattern은 객체에서 생성자에 들어갈 파라미터가 많든 적든 차례차례 파라미터를 받아들이고 모든 파라미터를 받은 뒤에 이 변수들을 통합해서 한번에 사용을 할 수 있다. 사진. 고도화된 빌더패턴 안드로이드에서도 이 패턴을 유용하게 많이 사용했는데, 이게 어떻게 이루어지고 사용을 했는지 몰랐다. AlertDialog가 그 예이다. 아래는 AlertDialog의 예시이다. 안드로이드를 하다보면 이 패턴을 자주보게 된다. AlertDialog 뿐만아니라 Uri, Geofence 등등 해당 패턴을 많이 사용하고 있다는 것을 알 수 있었다. 기존에는 오버로딩(Overloading)을 활용하여 객체를 생성했으나 이는 어떤 파라미터..