프로 그래 밍 의 추상 적 인 핵심
프로그램
본질
= +
= +
프로그램 = 알고리즘 + 수 결 구 조 는 모두 가 알 고 있 는 바 와 같이 알고리즘 이라는 해석 은 비교적 청아 하고 탈속 하 다. 1. 논리 2. 제어.
논 리 는
, 통 제 는
, 소통 방식 은
이다.예 를 들다
양식 검증
function check(data) {
= get(data, )
if ( || 3) {
return ,
}
= get(data, )
if ( || 8) {
return ,
}
= get(data, )
if ( || ) {
return ,
}
...
return ;
}
이 함수 의 최종 논 리 는 입력 데이터 의 합 법성 을 검증 하 는 것 입 니 다. 그러나 이것 은 바로 제어 와 논 리 를 결합 시 키 는 것 입 니 다. 검증 필드 가 증가 함 에 따라 이 함수 가 점점 길 어 지고 결국은 가 독성 이 점점 떨 어 지 며 유지 하기 가 점점 어려워 집 니 다.
두 가 지 를 더 잘 분리 하 는 방법 은 폼 검증 기 를 정의 하 는 것 이다. 다음 과 같다.
var rules = {
: [" 3"],
: [" 8"]
: ["email "]
...
]
};
if =checkRules(rules). (); {
return ,
}
return
이렇게 설명 검증 규칙 을 통 해 제어 와 논리 간 의 결합 을 얻 었 습 니 다. check 에서 여러 가지 if else 를 사용 하지 않 아 도 됩 니 다.
절대 다수의 프로그램 이 복잡 하고 혼 란 스 러 운 근본 원인 은 업무 논리 와 제어 논리의 결합 이다.
2. 대상 지향, 디자인 모델
대상 지향, 디자인 모델 의 중점 은:
23 개의 디자인 모델 은 기본적으로 두 개의 대상 을 대상 으로 하 는 핵심 이념 을 말 했다. 즉, 인터페이스 프로 그래 밍, 조합 이 계승 보다 우수 하 다.
인터페이스 프로 그래 밍
계승 은 부류 에 일부 부류 의 설계 와 실현 세부 사항 을 폭로 해 야 한다. 부류 가 실현 하 는 변 화 는 부류 도 변화 해 야 하고 조합 은 이런 폐단 이 존재 하지 않 는 다.우 리 는 계승 은 주로 코드 를 재 활용 하기 위 한 것 이 라 고 생각 하지만 실제로 하위 클래스 에서 많은 부모 류 를 다시 실현 하 는 방법 이 필요 하 다. 더 많은 것 을 계승 하 는 것 은 다 형 을 위 한 것 이 어야 한다.
3. 반전 과 제어 에 의존 (IoC / DIP)
쉽게 말 하면 추상 적 인 인터페이스 에 의존 해 야 한다. 구체 적 인 실현 에 의존 해 서 는 안 된다. 이것 이 바로 반전 을 제어 하 는 것 이다. 스위치 는 예전 설비 의 전용 스위치 에서 전원 을 제어 하 는 스위치 로 바 뀌 었 고 예전 의 설 비 는 반대로 스위치 공장 이 설명 한 전원 인터페이스 에 의존 해 야 한다.
돈.
예전 의 물 물 교환 에서 '돈' 에 의존 하 는 것 으로 바 뀌 었 고 모든 상품 은 이 '돈' 의 거래 협의 에 의존 하 며 더 이상 서로 의존 하지 않 아 도 된다. 전 세계 의 동작 은 매우 간단 해 졌 다.
스위치 와 램프
하나의 스위치 가 하나의 불 을 켜 고 끄 는 것 을 제어 해 야 하 는데 가장 직접적인 방법 은 스위치 와 불 을 함께 하 는 것 이다.그러나 어느 날, 우 리 는 이 스위치 가 전구 뿐만 아니 라 다른 것 도 제어 해 야 한 다 는 것 을 발견 하면 스위치 가 전구 와 결합 되 어 매우 확장 되 지 않 는 다 는 것 을 알 게 될 것 이다.해결 방안 은 스위치 공장 을 만 드 는 것 이 통제 할 필요 가 없 는 것 이 무엇 인지 에 따라 하나의 스위치 만 만 만 드 는 것 이다. 기능 은 바로 전 기 를 연결 하고 끊 는 것 이다. 수 동, 음성 제어 든 광 제어, 리모콘 이 든 스위치 공장 과 전등 공장 은 표준 적 인 전기 와 단전 의 인터페이스 에 의존 하 는 것 이다.전 구 를 만 드 는 공장 도 당신 이 어떤 스위치 를 사용 하 는 지 에 관심 이 없습니다. 전등 의 전원 인 터 페 이 스 를 만 들 기만 하면 됩 니 다. 스위치 공장 과 전등 공장 은 표준 전기 와 단전 의 인터페이스 에 의존 합 니 다.
증권 거래소
거래 하 는 과정 에서 판매 자 는 바이어 에 게 물건 을 팔 고 한 손 으로 돈 을 내 고 한 손 으로 물건 을 인도 한다. 기본적으로 만 나 야 한다. 이때 은행 이 나 와 담 보 를 한다. 바 이 어 는 먼저 돈 을 은행 에 걸 고 은행 은 판매자 에 게 물건 을 보 내 라 고 한다. 바 이 어 는 물건 을 검사 한 후에 은행 은 다시 돈 을 판매자 에 게 건네준다.이것 이 바로 반전 통제 이다. 매매 쌍방 은 상대방 에 대한 직접적인 의존 과 통 제 를 상대방 으로 하여 금 표준 적 인 거래 모델 에 의존 하 게 하 는 인터페이스 로 반전 시 켰 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.