본문 바로가기

WEB

(18)
Software재사용 방안 1.copy&paste(복사,붙여넣기) 2.method(메소드) 자주 사용되고,유사한 기능들을 모아 메서드로 정의하여 재사용합니다. 단점: 메서드의 이름,리턴타입,매개변수의 개수,타입을 변경하면 그 메소드를 사용하던 부분에 오류가 생길 수 있다. 3.class 재사용(상속) 상위 클래스가 가진 모든 기능을 하위 클래스에게 반드시 사용하도록 강제합니다. 4.aspect oriented programming(관점 지향 프로그래밍) 관심의 분리 스프링에서는 비즈니스 로직의 어떤 행동을 할 때 메소드를 직접 호출하는 것이 아니라 위빙을 통해서 기능을 가져올 수 있다.객체 지향 프로그래밍을 더욱 객체지향스럽게 만들어주는 개념이라고 볼 수 있다.
dependency object(의존 객체) 객체 생성 시에 필요한 객체를 의존 객체라고 한다. //UML 클래스 및 시퀀스 다이어그램(위키백과) DAO dao() = new DAO(); //의존 객체 Dependency Injection(의존성 주입) 의존성 주입은 프로그램 디자인이 결합도를 느슨하게 되도록 하고 의존관계 역전 원칙과 단일책임원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것이다. 내 생각: 의존성 주입의 이점은 의존성 주입 개념 이전에 쓰던 방법처럼 객체를 필요로 하는 클래스에서 매번 객체를 생성하는 것은 낭비이고 유지보수와 가독성을 떨어 뜨리기 때문에 스프링을 이용해서 객체를 생성해놓고 어디서든 사용할 수 있게 준비해두는 것이 의존성 주입이다. 가독성과 재사용성이 높아진다.