소프트 세대 시대에는 이미 이 문제를 해결할 수 있는 마법의 무기(모든 버그 제거)가 있었습니다. 바로 컴포넌트화입니다. 물론 당시에는 그렇게 부르지 않았지만 이 문제는 응집력과 결합력(높은 응집력, 낮은 결합력)이라는 두 가지 원칙을 통해 규제되었습니다.
커플링: 블록 간 연결이라고도 합니다. 이는 소프트웨어 시스템 구조에서 모듈 간 상호 연결의 근접성을 측정하는 것을 의미합니다. 모듈 간의 연결이 가까울수록 결합력은 강해지고 모듈의 독립성은 나빠집니다. 모듈 간 결합 수준은 모듈 간 인터페이스의 복잡성, 호출 방법 및 전송되는 정보에 따라 달라집니다. (권장 학습: PHP 비디오 튜토리얼)
응집성: 블록 내 연결이라고도 합니다. 모듈의 기능적 강도를 측정하는 것, 즉 모듈 내의 다양한 요소들이 얼마나 밀접하게 결합되어 있는지를 측정하는 것입니다. 모듈 내의 요소(언어 이름과 프로그램 세그먼트 사이)가 더 밀접하게 연결될수록 응집력은 더 높아집니다.
컴포넌트 개발은 재사용이 가능한 특정 기능을 캡슐화하는 표준화 작업입니다. 구성 요소에는 일반적으로 내부 UI 요소, 스타일 및 JS 논리 코드가 포함되어 있으며, 이는 애플리케이션의 어느 곳에나 쉽고 빠르게 포함될 수 있습니다. 구성 요소는 내부의 다른 구성 요소를 사용하여 더 복잡한 구성 요소를 형성할 수 있습니다. 구성 요소 개발은 유용한 솔루션입니다.
컴포넌트화 정의
"컴포넌트화"를 다음 요소로 이해하세요.
a) 컴포넌트는 로직을 캡슐화한 것이며 그래픽 요소에 국한되지 않습니다.
즉, If를 컴포넌트로, 카운트다운을 컴포넌트로, 애니메이션을 컴포넌트로, 라우팅을 컴포넌트로, 데이터 구조를 컴포넌트로 만들 수 있지만 이를 컨트롤이라고 부를 수는 없습니다
b ) 컴포넌트는 단일 이식성
, 즉 "로드하여 사용"하기 때문에 복잡한 기본 조건(스타일 도입, 프레임워크 도입 등)을 준비할 필요가 없습니다. 그러나 기존의 소위 구성 요소 라이브러리는 이를 잘 수행하지 못하고 기술적으로 현실적이지 않습니다. 구성 요소는 명령적으로 정의되지 않습니다.
이에 대해서는 더 이상 말하고 싶지 않습니다. 위에서 가장 중요한 것은 첫 번째 요점입니다. 따라서 "컴포넌트 기반 개발"이 무엇인지 묻는다면 내 대답은 다음과 같습니다. 그래픽과 비그래픽 등 다양한 로직이 통합된 개념(컴포넌트)으로 추상화되어 개발 모델을 구현합니다.
이것과 기존 개발 프레임워크의 가장 큰 차이점은 그래픽 요소와 비그래픽 요소의 통합입니다. 이 외에도 라우터를 포함하여 이 개념에서 차이점을 실제로 반영하는 다른 점은 생각할 수 없습니다. ajax, 모듈 로더, 타이머, 애니메이션, 간격 등은 모두 통합된 수명 주기 관리 및 외부 인터페이스를 공유하는 구성 요소이며 선언적으로 결합됩니다.컴포넌트 개발 방식의 장점 강력 추천
프로젝트 컴파일 속도 대폭 향상
컴포넌트 분할 후 각 업무나 기능은 별도의 프로젝트가 되며, 이 별도의 프로젝트는 독립적으로 컴파일 가능 실행 후 분할 프로젝트는 일반적으로 크기가 더 작고 코드도 적습니다. 이전처럼 컴파일하는 데 더 이상 몇 분을 기다릴 필요가 없습니다.
비즈니스 모듈 분리는 여러 사람이 함께 하는 팀 협업 및 개발에 도움이 됩니다.
비즈니스 구성 요소는 서로를 방해하지 않고 해당 비즈니스 기능을 하나의 프로젝트로 통합할 수 없습니다. 여러 사람으로 구성된 팀에서 각 사람은 자신의 비즈니스 모듈에 대해서만 책임을 집니다. 비즈니스 기능의 추가, 삭제, 수정 및 확인은 자신의 비즈니스 모듈로 제한되며 다른 사람의 비즈니스에는 영향을 미치지 않습니다. 영향을 받지 않습니다. 자체 비즈니스 모듈에만 영향을 미치므로 테스트에도 매우 편리합니다. 대부분의 경우 항상 모든 회귀 테스트를 수행하는 대신 수정된 비즈니스 구성 요소만 테스트하면 됩니다.
컴포넌트화는 기능적 재사용의 초석입니다.
비즈니스 컴포넌트는 빌딩 블록과 같아서 다양한 집을 지을 수 있습니다. 같은 방식으로 여러 가지 앱을 만들 수도 있습니다. 각 구성 요소만 유지하면 됩니다. 구성 요소의 기능을 사용해야 하는 경우 참조를 만들어 통합하면 됩니다.
PHP 관련 기술 기사를 더 보려면PHP 그래픽 튜토리얼
칼럼을 방문하여 알아보세요!위 내용은 컴포넌트 개발이란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!