developer

고정 헤더 영역

글 제목

메뉴 레이어

developer

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (251)
    • 한양대공학대학원컴퓨터공학과 (1)
    • 통신프로토콜 (2)
    • eclipse (4)
    • spring (37)
      • spring 게시판 만들기 (6)
      • spring 로그인 처리 (2)
      • spring boot (9)
      • spring cloud config (0)
      • spring cloud eureka (0)
    • Git (19)
    • 체당금신청 (5)
    • Mybatis (8)
    • 전세금돌려받기 (2)
    • 아이폰 개발 ( i-os ) (5)
    • 주식 (5)
      • 일일매매동향 (5)
    • Vue.js (12)
      • Vue.js 동영상강좌 (4)
    • 자바강좌 (67)
      • 리팩토링 (13)
    • 취미 (21)
      • 관심기사 (8)
      • 영화 (2)
      • 여행 (9)
      • 마케팅 (2)
    • Database (25)
      • Oracle (10)
    • C언어강좌 (1)
    • 자바스크립트 (18)
      • 자바스크립트 디자인패턴 (2)
      • jquery (9)
    • 파이썬 (5)
    • 정보관리기술사 (4)

검색 레이어

developer

검색 영역

컨텐츠 검색
생성자를 팩토리 메서드로 치환 (Replace Constructor with Factory Method )

* 생성자를 팩토리 메서드로 치환 (Replace Constructor with Factory Method ) - 생성하고 싶은 인스턴스가 속한 실제 클래스를 클라이언트에서는 숨기고 싶음. - 생성자를 팩토리 메서드로 치환함. - 어느 클래스 인스턴스를 생성할지를 팩토리 메서드 안에서 정할 수 있음 - 생성한 인스턴스를 변경해도 클라이언트 쪽은 변경하지 않아도 됨. - 추상도가 너무 올라가면 코드가 오히려 난해해짐. * 방법 1. 팩토리 메서드 작성 1) 팩토리 메서드 작성 - 팩토리 메서드 안에서는 현재 생성자를 호출 2) 팩토리 메서드 호출 - 클라이언트에서 생성자를 호출하는 부분을 수정해서 팩토리 메서드를 호출하도록 함 3) 컴파일해서 테스트 2. 생성자 숨기기 1) 생성자를 private로 만듬 ..

자바강좌/리팩토링 2020. 2. 10. 22:05

에러 코드를 예외로 전환( Replace Error Code with Exception )

* 에러 코드를 예외로 전환( Replace Error Code with Exception ) - 프로그램이 동작하는 도중에 어떤 에러가 발생했다고 하면, 그 때 프로그램은 발생한 에러에 대한 에러처리를 해야합니다. - 에러처리는 아주 중요함. 하지만 한 메서드안에 정상 처리와 에러 처리가 혼재하면 프로그램의 흐름을 파악하기 어려움. - 어떤 메서드가 실행 중에 에러가 발생했는데 그 메서드 안에서 에러를 처리하지 않는다고 합시다. 이 경우 호출하는 쪽 메서드에 - 에러를 나타내는 값, 즉 에러 코드(error code)를 반환해 에러가 발생했다고 알려야 함. 하지만 호출하는 쪽에서도 에러 처리를 하지 않고 - 에러코드를 다시 상위 메서드에 반환할지도 모름. 그렇게 되면 에러 코드 전파 처리를 프로그램 전..

자바강좌/리팩토링 2020. 2. 9. 22:37

분류 코드를 상태/전략 패턴으로 치환

* 분류 코드를 상태/전략 패턴으로 치환 - 분류코드(type code)는 객체 종류를 나타내는 값. 분류코드를 상태/전략 패턴으로 치환(Replace Type Code with State/Strategy) 리팩토링에서 상태패턴 또는 전략패턴이라는 디자인패턴을 사용함. - 분류 코드를 상태/전략 패턴으로 치환은 분류 코드를 상태 객체라고 부르는 객체를 사용해 치환함. * 방법 1. 상태 객체를 나타내는 클래스 작성 - 분류 코드를 자기 캡슐화 - 분류 코드를 나태내는 새로운 클래스(상태 클래스) 작성 - 분류 코드를 값마다 상태 객체의 하위 클래스 작성 - 분류 코드를 얻는 추상 메서드를 상태 객체에 작성 - 하위 클래스는 추상 메서드를 오버라이드해서 분류 코드를 변환 - 컴파일 2. 상태 객체 사용 -..

자바강좌/리팩토링 2020. 2. 8. 13:30

Chain of responsibility 패턴, 명령(Command)패턴, 해석자(Interpreter)패턴

* Chain of responsibility ( 책임연쇄) - 객체를 메시지로 보내는 함수 호출을 생각해보자. 이 메시지 전송 사고방식은 스몰토크 시대로 거슬러 올라감. 책임 연쇄 패턴은 메시지가 클래스에서 다른 클래스로 전달되는 접근 방식을 기술함. 클래스는 메시지를 처리하거나 체인에 있는 다음 멤버에게 전달함. 구현에 따라 메시지 전송에 몇 가지 다른 규칙을 적용할 수 있음 체인의 첫번째 일치하는 링크만이 메시지를 처리하도록 하거나, 또는 모든 일치하는 링크가 메시지를 처리할 수도 있음. 때때로 링크는 처리를 중지하거나, 메시지의 변종을 만들 수도 있음. var Westeros; (function (Westeros) { (function (JudicialSystem) { var Complaint =..

자바스크립트/자바스크립트 디자인패턴 2020. 2. 3. 23:37

분류 코드를 하위 클래스로 치환 (Replace Type Code With Subclass)

* 분류 코드를 하위 클래스로 치환 (Replace Type Code With Subclass) - 분류코드마다 하위 클래스를 준비해서 하위 클래스 내부에 동작을 서술하면 코드를 깔끔하게 정리할 수 있습니다. 이게 바로 여기서 배우는 분류 코드를 하위 클래스로 치환 리팩토링임. - 분류코드 마다 다른 동작을 한다면 switch문을 사용하고 싶어짐. 하지만 객체지향 프로그래밍이라면 switch문은 악취가 남. - 분류 코드를 하위 클래스로 치환 리팩토링은 하위 클래스라는 '구조'를 새로 만들거나, switch문 하나에 모여 있던 '동작'을 하위 클래스로 배분하게 됨. * 리팩토링 전 코드 package ReplaceTypeCodeWithSubclasses; public class Shape { public..

자바강좌/리팩토링 2020. 2. 3. 22:55

데이터 모델링 주요 개념

본 글은 " 한빛미디어의 데이터베이스 설계와 구축 - 이춘식 저 " 책의 내용을 개인적인 스터디의 목적으로 정리한 것임을 밝힙니다. * 데이터베이스 설계와 구축 1. 데이터 모델링 주요 개념 - 데이터 모델링 : 정보화 시스템을 구축하기 위해 어떤 데이터가 존재하는지 또는 업무에 필요한 정보는 무었인지 분석하는 방법 다시 말해 데이터 모델링이란 업무에 필요한 데이터를 시스템 구축 방법론을 사용하여 분석하고 설계하고 설계하여 정보화 시스템을 구축하는 것이다. - 실제 업무 시스템을 구축하는 프로젝트에서 데이터베이스를 전문적으로 하는 이른바 DBA가 모델링을 전적으로 하는 경우는 거의 없으며 대부분 업무 시스템을 개발하는 어플리케이션 개발자가 데이터 모델링도 같이 하게 된다. * 데이터 모델링을 진행할때 다..

Database 2020. 2. 2. 22:36

분류 코드를 클래스로 치환( Replace Type Code with Class) 리팩토링

* 분류 코드를 클래스로 치환( Replace Type Code with Class) 리팩토링 - 객체를 식별하기 위한 분류코드가 int 같은 기본 타입이면 타입 판별이 안되는 문제가 생김 이 문제를 해결하기 위해서 분류코드를 나타내는 새로운 클래스를 작성하는데 이것을 분류 코드를 클래스로 치환 리팩토링이라고 함. * 순서 1) 우선 int를 사용하는 기존 인터페이스(API)를 사용함. 2) 그후 int를 사용하지 않는 새로운 인터페이스(API)로 변경함. 3) 마지막으로 기존 인터페이스(API)를 삭제함. * 리팩토링 전 코드 package ReplaceTypeCodeWithClass; public class Item { public static final int TYPECODE_BOOK = 0; pu..

자바강좌/리팩토링 2020. 1. 28. 22:36

클래스 추출(Extract Class) 리팩토링

* 클래스 추출(Extract Class) 리팩토링 - 기존의 클래스에서 필드와 메서드를 추출해서 새로운 클래스로 옮기는 것. * 클래스 추출 리팩토링 순서 1) 클래스의 책임을 어떻게 추출할지 결정 2) 추출한 책임을 담당할 새로운 클래스 작성 3) 새로운 클래스에서 새로운 클래스로 링크 작성 4) 기존 클래스에서 새로운 클래스로 필요한 필드 이동 5) 이동 할때마다 컴파일해서 테스트 6) 기존 클래스에서 새로운 클래스로 필요한 메스드 이동 * 리팩토링 전 코드 package ExtractClass; public class Book { private String _title; private String _isbn; private String _price; private String _authorName..

자바강좌/리팩토링 2020. 1. 28. 21:49

추가 정보

인기글

최신글

페이징

이전
1 ··· 7 8 9 10 11 12 13 ··· 32
다음
TISTORY
developer © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바