[SPRING] 스프링 프레임워크 시작하기-2

🐷Jinie (juniorDeveloper)·2020년 11월 16일
1

JSP/MVC/SPRING

목록 보기
38/81

  • Spring에서 Java파일은 해당경로에 생성한다.

1. 결합도

  • 프로그래밍은 결합도를 낮게 응집도를 높게 진행해야한다.
  • 결합도가 높은 프로그램은 유지보수가 어렵다.

  • 기능은 똑같은데 두가지의 브랜드 제품을 사용할 수 있는 메서드를 다르게 작성했다.

  • 이렇게 사용하는 상태에서는 사용자를 LGTV로 바꾸기위해서는 코드는 LGTV 중심으로 전체 교체해야한다.
  • 기능이 같은데 브랜드별로 사용하는 메서드가 다 달라서 비효율적이다.
  • 만약 TV가 2개가 아니라 여러개라면 이용이 훨씬 더 복잡하고 비효율적으로 변할 것이다.
  • 이에 따라서 TV교체가 어려워질 것이다. (유지보수 힘들어짐).

2. 결합도를 낮추기 위한 방법 - 다형성 이용하기

  • Interface를 만들어서 다형성을 이용해 결합도를 낮춘다.


  • Interface를 이용해서 모든 TV클래스가 같은 메서드를 가질 수 밖에 없도록 강제했다.
  • 객체만 맞춰서 선언해주면, 메서드는 동일하게 호출해서 사용했을때 원하는 결과를 얻을 수 있다.

3. 결합도를 낮추기 위한 방법 - 디자인 패턴 이용하기

  • Interface를 사용해서 결합도를 낮추면 객체만 생성하면 동일한 메서드를 사용해도 원하는 결과를 얻을 수 있게 통일된다.
  • 하지만, 원하는 결과를 위해 객체를 수정 또는 생성해야하는 번거로움이 있다.
  • 따라서 '디자인 패턴'을 이용하기 시작한다.
  • 매개변수로 받은 beanName에 해당하는 객체를 생성하여 리턴한다.
  • 이때, 매개변수가 없으면
  • 위와 같은 오류가 발생한다.
  • Run as > Run configurations > 값을 넣어준다.



  • 이렇게 되면, 소스를 직접 열고 수정하지 않아도된다.
  • 외부에서 값을 넣어주면 자동으로 객체를 생성하고 코드를 실행할 수 있다.
  • 디자인패턴으로 적용한 BeanFactory를 Spring에서 제공하는 내용으로 사용하고자 한다.
profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글