구식 데이터베이스 연결 탱크 - 포장 디자인 모델
4174 단어 디자인 모드
일반적으로 어떤 대상 을 강화 하 는 방법 은 세 가지 가 있다.
(1) 서브 클래스 를 사용 하여 특정한 실현 류 를 계승 한다.
(2) 포장 디자인 모델 을 사용한다.
⑶ 동적 대 리 를 사용한다.
이 편 은 주로 포장 디자인 모델 을 설명 하지만 동태 대리 가 가장 좋 은 해결 방법 이라는 것 을 알 아야 한다.
포장 디자인 모델 은 주로 다음 과 같은 다섯 가지 절차 가 있다.
① 하나의 종 류 를 사용자 정의 하여 목표 대상 (증강 대상) 과 같은 인 터 페 이 스 를 실현 한다.
② 사용자 정의 클래스 에서 구성원 변 수 를 정의 하여 대상 을 기억 합 니 다.
③ 대상 을 받 아들 이 는 구조 함 수 를 정의 한다.
④ 강화 하거나 고 치 려 는 방법 을 덮는다.
⑤ 강화 하거나 고 쳐 쓰 고 싶 지 않 은 다른 방법 에 대해 서 는 방금 목표 대상 을 기억 한 구성원 변 수 를 사용 하여 목표 대상 을 일일이 호출 하 는 방법 을 사용 하면 된다.
데이터베이스 에 연 결 된 Connection 인 터 페 이 스 를 예 로 들 면 데이터베이스 연결 탱크 에서 다른 방법 을 제공 하 는 Connection 대상 은 데이터베이스 에서 직접 제공 하 는 Connection 대상 이 어야 합 니 다. close 방법 은 연결 을 직접 없 앨 수 있 기 때문에 close 방법 으로 연결 을 다시 풀 수 있 는 Connection 대상 을 되 돌려 야 합 니 다.그래서 우 리 는 하나의 포장 류 를 사용 하여 데이터 베이스 가 제공 하 는 Connection 대상 을 밀봉 하고 close 방법 을 복사 하 며 다른 방법 에 대해 서 는 원래 의 대상 을 직접 사용 하여 호출 합 니 다. 코드 는 다음 과 같 습 니 다.
class MyConnection implements Connection{
//
private Connection conn;
public MyConnection(Connection conn) {
//
this.conn = conn;
}
@Override
public void close() throws SQLException {
connectionList.addFirst(this.conn); // close ,
}
@Override
public Statement createStatement() throws SQLException {
this.conn.createStatement(); // , MyConnection
return null;
}
。。。 // Connection , (createStatement )
} // MyConnection
옛날 메모 에서 유래 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.