C 언어 와 디자인 모델 (2.4 장식 모델)

1070 단어 designpatterns
장식 모델 은 비교적 재 미 있 고 의미 도 있다.사실 개인 적 으로 책임 체인 과 비슷 하 다.다만 책임 체인 은 비교 판단 이 고 장식 기 는 교체 처리 이다.장식 모델 은 바로 그런 교체 처리 모델 인 데 관건 은 어디 에 있 습 니까?우 리 는 아래 의 함 수 를 볼 수 있다.
void wapper( int( *func )( int, int ), int num1, int num2 )
{
    printf( "     
" ); // , func( num1, num2 ); printf( "
" ); }

장식 기 모드 를 사용 하면 C 언어 에서 유사 한 다 중 효 과 를 실현 할 수 있 고 쉽게 확장 할 수 있 습 니 다. 위 에 있 는 이 함 수 는 구조 함수 라 고도 부 르 고 아래 는 다른 장식 함수 입 니 다.
int add( int num1, int num2 )
{
    int sum = num1 + num2;
    printf( "%d+%d=%d
", num1, num2, sum ); return sum; } int sub( int num1, int num2 ) { int sub = num1 - num2; printf( "%d-%d=%d
", num1, num2, sub ); return sub; } int mul( int num1, int num2 ) { int mul = num1 * num2; printf( "%d*%d=%d
", num1, num2, mul ); return mul; } int main( int argc, char *argv[] ) { wapper( add, 20, 30 ); wapper( sub, 20, 30 ); wapper( mul, 20, 30 ); return 0; }

좋은 웹페이지 즐겨찾기