>  기사  >  백엔드 개발  >  계층적 발전사상과 샤오롱바오

계층적 발전사상과 샤오롱바오

巴扎黑
巴扎黑원래의
2017-04-30 10:26:091496검색

아침에 아침식사를 하던 중 문득 영감이 떠올랐고, 제가 먹은 샤오롱바오와 저의 일상 개발 경험을 바탕으로 레이어드 애플리케이션에 대해 이야기를 나눴습니다.

먼저, 3계층 아키텍처가 무엇인지 이야기해 보겠습니다. 소위 3계층 개발은 전체 비즈니스 애플리케이션을 프레젠테이션 계층 - 비즈니스 로직 계층 - 데이터 액세스 계층 - 데이터베이스 등으로 나누는 것입니다. 일부는 훨씬 더 많습니다. 클라이언트의 프리젠테이션 계층을 명확하게 구분하고 비즈니스 로직 액세스와 데이터 액세스 및 데이터베이스 액세스를 구분하여 시스템 개발, 유지 관리, 배포 및 확장에 매우 도움이 됩니다.

소프트웨어는 계층화되어야 합니다. 사실 한 문장으로 말하면 "높은 응집력과 낮은 결합도"를 달성하는 것입니다. "분할 정복"이라는 아이디어를 채택하여 문제를 개별 솔루션으로 나누어 제어하기 쉽고, 확장하기 쉽고, 리소스를 할당하기 쉽습니다.

이 3층 구조의 장점은 무엇입니까?

1. 전체 시스템을 서로 다른 논리 블록으로 분할함으로써 응용 시스템 개발 및 유지 관리 비용이 크게 절감됩니다.

3티어 구조는 클라이언트 계층과 애플리케이션 서버에 따라 프리젠테이션 부분과 비즈니스 로직 부분을 분리한다. 클라이언트와 애플리케이션 서버, 애플리케이션 서버와 데이터베이스 서버 간의 통신, 이기종 플랫폼 간의 데이터 교환이 모두 가능하다. 미들웨어나 관련 프로그램을 통해 구현할 수 있습니다. 데이터베이스 또는 애플리케이션 서버의 비즈니스 로직이 변경되면 클라이언트는 변경할 필요가 없으며 그 반대의 경우도 마찬가지이므로 시스템 모듈의 재사용성이 크게 향상되고 개발 주기가 단축되며 유지 관리 비용이 절감됩니다.

흥미로운 이해:

식당에서 다음과 같이 샤오롱바오를 만든다고 가정해 보겠습니다.

찐 만두 한 겹,

고기빵 한 겹,

일반 가방 레이어입니다.

우선 이런 식으로 빵 제작자를 여러 그룹으로 나누어 다양한 빵을 만드는 일을 담당할 수 있습니다. 각 종류의 빵을 만들 때 하나씩 어디에 넣어야 할지 고민할 필요 없이 어느 케이지에 넣어야 할지 쉽게 알 수 있고, 다른 케이지 가열에 영향을 주지 않고 쉽게 케이지를 불에 올려 놓을 수 있습니다. 고기만두나 만두를 먹고 싶을 때 필요한 것을 쉽게 찾을 수 있어 시간과 에너지가 절약됩니다. 고기 빵이나 찐 만두를 빼거나 추가해도 채식 빵의 가열에는 영향을 미치지 않습니다.

이 모든 것을 큰 우리에 넣으면 어떻게 될 것 같나요? 유지 관리가 매우 지저분하고 시간이 오래 걸릴까요? 찾기가 번거로울 뿐만 아니라 냄비를 열 때마다 다른 것에 영향을 미치게 됩니다. 

2. 데이터 액세스 및 논리적 작업을 구성 요소로 중앙 집중화하여 시스템의 재사용성을 향상시킵니다.

예를 들어, 데이터 액세스는 데이터 액세스 계층의 구성 요소로 중앙 집중화되므로 데이터베이스와 테이블에 액세스해야 하는 각 양식은 동일한 구성 요소를 사용합니다.

예를 들어, 일부 일반적인 논리 작업은 논리 계층의 구성 요소에 캡슐화됩니다. 이 방법을 사용하는 각 작업은 구성 요소에 대한 액세스를 공유할 수 있습니다.

흥미로운 이해:

쉽게 이해하자면, 케이지 자체가 재사용의 예입니다. 일회용 케이지(일회용 젓가락과 같은 의미로 이해됨)를 사용하면 얼마나 많은 노동력이 낭비되고(반복적인 글쓰기는 번거로움) 막대한 자원 낭비가 발생하게 됩니다(코드). 중복), 마지막으로 쓰레기 처리(유지보수 후)입니다. 또한 케이지와 솥을 사양과 표준(인터페이스)에 따라 제작하면 이러한 케이지는 여기서 사용할 수 있을 뿐만 아니라 다른 곳에서도 사용할 수 있습니다. (이 이해가 정확하지는 않지만 그냥 이렇게 이해하시면 됩니다)

3. 시스템의 확장성이 대폭 향상되었습니다.

모듈화를 통해 시스템을 수직 및 수평 방향으로 쉽게 확장할 수 있습니다. 한편으로는 시스템을 더 크고 강력한 플랫폼으로 업그레이드할 수 있으며 동시에 규모를 적절하게 늘려 네트워크 애플리케이션을 향상시킬 수 있습니다. 시스템. 시스템 동형성의 제약을 없애면 분산 데이터 처리가 가능해집니다. 기능을 확장하거나 수정하는 경우 기본적으로 원래 구조의 안정성이 파괴되지 않습니다.

흥미로운 이해:

고객의 요구에 따라 이제 찐빵, 찐 고구마 등 새로운 품종을 추가해야 하므로 케이지 층만 추가하면 다른 케이지에 영향을 주지 않습니다. 

기업의 경쟁 우위를 창출하는 데 있어서 3계층 구조의 역할은 주로 사용자가 기존 구조를 기반으로 시스템 확장을 달성할 수 있도록 하여 기업 정보화의 속도와 비즈니스 수준을 향상시킬 수 있는 모듈형 설계에 반영됩니다. 3계층 구조의 미들웨어 시스템의 출현으로 사용자는 시장에서 적합한 제품을 직접 선택하여 시스템을 구축할 수 있어 개발 주기와 개발 비용이 크게 절감됩니다. 

그러나 계층 구조에도 단점이 있으며, 많을수록 항상 좋은 것은 아닙니다. 많은 레이어를 관리하는 것은 번거롭고 운영 효율성이 낮을 수 있습니다. 따라서 좋은 계층 구조를 가진 시스템은 적절한 수의 레이어를 가져야 합니다.

관련문서: 삼층건축과 양돈

위 내용은 계층적 발전사상과 샤오롱바오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.