웹 프로젝트에서 서비스 인터페이스가 쓰여야만 하는 아주 간단한 실무 예시의 마지막 문의 입니다
- 작성자 :
- 최*일
- 작성일 :
- 2021-11-24 10:48:55
- 조회수 :
- 2,759
- 구분 :
- 개발환경 / 4.0
- 진행상태 :
- 완료
표준으로 정할 정도면
1) 서비스 인터페이스의 사용의 [이유] 와
2) [장점]이 반드시 존재할 것이고
그 서비스 인터페이스의 [장정]을 간단 명쾌하게 설명하는 [샘플코드] 를 제공해 달하고 한 것인데
그게 이리 어렵나 싶습니다
이번에 한번의 전화와 3번의 게시판 글을 남기면서
전자정부 프레임워크에대해 참 많은 생각을 하게 됐습니다
기술이란 정치도 아니고 의견의 토론장도 아닙니다
간단한 코드로 증명하면 그만입입니다
코드로 장점과 존재의 이유를 증명하지 못한다면
정자정부포탈 담당자도 [이유], [장점]을 잘 모르는 것 아닌가요 ?
표준을 만들고 배포하는 것에는 책임또한 따릅니다
표준배포시 그것을 간단명쾌하게 설명하고 증명하는 샘플 코드도 같이 배포하는 것이 필수이고
그 표준과 비표준 사이에 차이점, 장단점도 같이 설명 되어야 합니다
이번에 저의 게시판 글을 통해서
한단계 더 발전하는 전자정부프레임워크가 되었으면 합니다
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
표준프레임워크센터 입니다.
인터페이스에 대해 다양한 관점이 있을수 있다고 생각됩니다.
인터페이스는 기능적인 관점보다는 설계적인 관점에서 보아야 한다고 생각이 되고
실제로 Java진영에서 그렇게 사용이 되고 있습니다.
소스코드로 예를들면
Java에서 DB를 연결하는데 사용하는
JDBC드라이버도 인터페이스로 구성되어 있습니다.
다음은 javax.sql.DataSource interface의 구현체 입니다.
소스코드를 보면 다음과 같이 정의가 되어 있습니다.
-----------------------------------------------------------------------
public interface DataSource extends CommonDataSource, Wrapper {
/**
* <p>Attempts to establish a connection with the data source that
* this {@code DataSource} object represents.
*
* @return a connection to the data source
* @exception SQLException if a database access error occurs
* @throws java.sql.SQLTimeoutException when the driver has determined that the
* timeout value specified by the {@code setLoginTimeout} method
*/
Connection getConnection() throws SQLException;
..... 이하 생략
-----------------------------------------------------------------------
이렇한 것으로 다음과 같은 JDBC드라이버가 inteface를 구현하여 사용하고 있습니다.
oracle.jdbc.driver.OracleDriver
org.mariadb.jdbc.Driver
이렇게 Java 진영에서는 interface를 적극 도입하고 있습니다.
또한 WAS 의 표준 정의라고 할수 있는 j2ee도 마찬가지 입니다.
다음 문서에서 다양한 interface를 이용한 소스코드와 예시를 확인하실수 있습니다.
https://docs.oracle.com/javaee/7/api/
기존에 말씀하신 현실적인 제약조건들이 있겠으나
설계와 개발을 효율적으로 분리할수 있다면
장점이 될수도 있습니다.
감사합니다.