본문 바로가기

용어정리

(17)
용어정리 -[#MVC] Spring framework MVC [ Spring framework MVC ]MVC 디자인 패턴 2018-07-13 Model View Controller 의 약자로,MVC는 사용자 인터페이스와 비즈니스 로직을 분리하여 웹 개발을 하는 것을 큰 장점으로 꼽는다. MVC 패턴도 MVC 모델1과 MVC 모델 2로 나뉘는데, MVC라고 하면 당연히 MVC 모델2를 의미한다. 따라서 여기서는 MVC 모델 2 (이하 MVC)를 기준으로 설명한다. 디자인 패턴 디자인 패턴은 건축으로치면 공법에 해당하는 것으로 소프트웨어의 개발 방법을 공식화 한 것이다. 소수의 뛰어난 엔지니어가 해결한 문제를 다수의 엔지니어들이 처리 할 수 있도록 한 규칙이면서, 구현자들 간의 커뮤니케이션의 효율성을 높이는 기법이다. (위키피디아 참고) MVC Model : 모델은..
실습정리-[#스프링삼각형] 1.스프링을 적용하지 않은 방식으로의 코딩 [ 스프링을 적용하지 않은 방식으로의 코딩 ] 2018 - 06 - 02 우선 스프링에서 예제문을 실행시켜보도록 하자실습은 STS를 통해 진행됩니다. 1. STS의 File -> New -> Spring Legacy Porject - > Spring MVC Project 를 선택합니다.2. Project name에 ExpertSpring30을 입력하고 Next 버튼을 클릭합니다.3. Please specify the top-level package e.g. com.mycompay.myapp*에 com.heaven.mvc를 입력한 후 Finish 버튼을 입력해 스프링 MVC 프로젝트를 생성합니다.4. STS 좌측의 Package Explorer에서 src/main/java 밑에 expert001_01 패키..
용어정리-[#스프링삼각형] 1.IoC/DI [ IoC/DI ]제어의 역전 / 의존성 주입 Inversion of Control / Dependency Injection 2018 - 06 - 02 프로그래밍에서 의존성이란? IOC라고도 하는 DI를 알아보기 전에 프로그래밍에서 의존성이란 무엇인지 알아보자. 자바에서 의존성은 또 무엇인지 알아보자 의존성은 무엇인가? 의사코드 운전자가 자동차를 생산한다.자동차는 내부적으로 타이어를 생산한다. 자바로 표현 new Car();Car 객체 생성자에서 new Tire(); 그리고 의존성을 단순하게 정의하면 다음과 같다. 의존성은 new다.new를 실행하는 Car와 Tire 사이에서 Car가 Tire에 의존한다. 결론적으로 전제가 부분에 의존한다고 표현할 수 있다.더 깊이 들어가면 의존하는 객체 ( 전체 ) 와..
용어정리-[#디자인패턴] 5.Template Method Pattern [ Template Method Pattern ]템플릿 메서드 패턴 2018 - 06 - 01 볼트라는 이름의 강아지와 키티라는 이름의 고양이를 키운다고 상상해 보자. Animal.java12345678910111213141516171819package templateMethodPattern; public abstract class Animal { // 템플릿 메서드 public void playWithOwner() { System.out.println("귀염둥이 이리 온..."); play(); runSomething(); System.out.println("잘했어"); } // 추상 메서드 abstract void play(); // Hook(갈고리) 메서드 void runSomething() { S..
용어정리-[#디자인패턴] 4.Singleton Pattern [ Singleton Pattern ]싱글턴 패턴 2018 - 06 - 01 싱글턴 패턴이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. 커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러 개 만들게 되면 불필요한 자원을 사용하게 되고, 또 프로그램이 예상치 못한 결과를 낳은 수 있다. 싱글턴 패턴은 오직 인스턴스를 하나만 만들고 그것을 계속해서 재사용한다. 싱글턴 패턴을 적용할 경우 의미상 두 개의 객체가 존재할 수 없다. 이를 구현하려면 객체 생성을 위한 new에 제약을 걸어야 하고,만들어진 단일 객체를 반환할 수 있는 메서드가 필요하다.따라서 필요한 요소를 생각해 보면 다음 세 가지가 반드시 필요하다. new를 실행할 수 없도록 생성자에 private 접근 제어자를 지..
용어정리-[#디자인패턴] 3.Decorator Pattern [ Decorator Pattern ]데코레이터 패턴 2018 - 06 - 01 데코레이터 패턴은 도장/도배업자를 의미한다. 데코레이터 패턴이 원본에 장식을 더하는 패턴이라는 것이 이름에 잘 드러나 있다. 데코레이터 패턴은 프록시와 구현 방법이 같다. 다만 프록시 패턴은 클라이언트가 최종적으로 돌려 받는 반환값을 조작하지 않고 그대로 전달하는 반면 데코레이터 패턴은클라이언트가 받는 반환값에 장식을 덧입힌다. 프록시 패턴 제어의 흐름을 변경하거나 별도의 로직 처리를 목적으로 한다. 클라이언트가 받는 반환값을 특별한 경우가 아니면 변경하지 않는다 데코레이터 패턴 클라이언트가 받는 반환값에 장식을 더한다. 코드를 살펴보자IService.java12345package decoratorPattern; public..
용어정리-[#디자인패턴] 2.Proxy Pattern [ Proxy Pattern ]프록시 패턴 2018 - 06 - 01 프록시는 대리자, 대변인이라는 뜻을 가진 단어다. 코드를 통해 프록시 패턴의 구성을 살펴보자 IService.java 12345package proxyPattern; public interface IService { String runSomething();}cs IService 인터페이스를 구현한 Service.java123456package proxyPattern; public class Service implements IService { public String runSomething (){ return "서비스 짱!!";}Colored by Color Scriptercs IService 인터페이스를 구현한 Proxy.java 1..
용어정리-[#디자인 패턴] 1.Adapter Pattern [ Adapter Pattren ]어댑터 패턴 2018 - 06 - 01 어댑터를 번역하면 변환기(converter) 라고 할 수 있다. 변환기의 역할은 서로 다른 두 인터페이스 사이에 통신이 가능하게 하는 것이다. 데이터베이스 관련 프로그램을 작성해 봤다면 다양한 데이터베이스 시스템을 공통의 인터페이스인ODBC나 JDBC를 이용해 조작할 수 있다는 사실을 알고 있을 것이다. 바로 ODBC나 JDBC가 어댑터 패턴을 이용해 다양한 데이터베이스 시스템을단일한 인터페이스로 조작할 수 있게 해주기 때문이다. 다음은 어댑터 패턴이 적용되지 않은 코드이다. ServiceA.java 1234567package adapterPattern; public class serciceA { void runServiceA() ..