>백엔드 개발 >PHP 튜토리얼 >MVC- 문제 또는 솔루션?

MVC- 문제 또는 솔루션?

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-02-20 12:00:20131검색

MVC - a Problem or a Solution? 리포지토리, 어댑터, MVC, Solid, RTFM… 웹은 PHP 개발자에게 지속적 으로이 용어를 던집니다. 나는 그것에 지쳤다. 지시에 충분합니다. 새끼 고양이를 보여주세요!

키 포인트 :

MVC는 웹 응용 프로그램 복잡성을위한 마법의 총알이 아닙니다. 깨끗하고 재사용 가능하며 분리 된 코드는 실제 솔루션이며 개발자에게 달려 있습니다. 모든 패턴과 마찬가지로 MVC가 도구입니다. 잘 사용되면 유연성과 사용 편의성을 촉진합니다. 그러나 그것은 끔찍하게 과도하게 사용하고 오용되었습니다.

맹목적으로 패턴을 적용하지 마십시오. 그들의 강점과 약점을 이해합니다. 작업에 적합한 도구를 선택하십시오.

소프트웨어는 문제를 해결합니다 우리는 문제를 해결하기 위해 소프트웨어를 구축합니다. 각 코드 라인은 세상을 구하거나 귀여운 새끼 고양이를 표시하든 특정 요구를 해결합니다. 그 목적을 존중하십시오. 이러한 문제에 대한 솔루션은 더 큰 시스템으로 결합됩니다. 그러나 우리의 솔루션이 효과적이고 이해할 수 있으며 유지 관리 가능하도록하는 방법은 무엇입니까?
  • "하나의 크기는 모든 것에 맞습니다"신화 :
  • MVC는 종종 웹 애플리케이션을위한 유일한 실행 가능한 솔루션으로 제시됩니다. 공동체는 종종 그것을 사용하지 않는 사람들을 비판하며
  • mvc가 우월한 이유를 거의 설명하지 않습니다. 왜 MVC 과대 광고? 일반적으로 인용 된 혜택은 다음과 같습니다
  • 코드 복잡성 감소 코드 재사용 성 유연성 증가

    디퍼 커플 코드 하지만이 주장은 사실입니까? 다른 패턴에 이러한 장점이 부족합니까? 아니요. MVC는 본질적으로 복잡성, 재사용 성, 유연성 또는 분리를 해결하지 않습니다. 개발자 는 깨끗하고 유연하며 재사용 가능한 코드를 작성하십시오. 우리는

    를 사용하기 위해 jQuery가 필요한 것보다 더 이상 MVC가 필요하지 않습니다. 우수한 소프트웨어는 MVC 이전에 존재했으며, 그 없이도 계속 구축 될 것입니다.

    MVC는 만병 통치약이 아닌 패턴입니다. 어댑터, 공장, 싱글 톤, 모듈, 통역사, 관찰자 ​​중 하나입니다. 패턴 보조, 그들은 해결하지 않습니다 :

    패턴은 더 나은 코드를 작성하는 데 도움이됩니다. 모범 사례를 나타내지 만 모범 사례는 문제에 따라 다릅니다. 보트는 깃털이 아닌 물 여행에 적합합니다.

    각 패턴에는 강점과 약점이 있습니다. 공장 패턴은 객체 생성에서 탁월합니다. 모듈 패턴은 강력한 모듈 지원이없는 언어의 구조 코드 (JavaScript와 같은)에 도움이됩니다. 관찰자 패턴은 이벤트 처리에서 빛납니다. MVC는 프리젠 테이션, 데이터 및 논리 분리를 지원합니다 MVC의 과도한 사용은 그것이 PHP 웹 응용 프로그램의 보편적 솔루션이라는 잘못된 믿음에서 비롯됩니다. 엄격한 규칙이 나타났습니다 : 모델 미러링 데이터베이스 행, 얇은 컨트롤러, 템플릿 엔진 ... 그런 다음 "지방 컨트롤러"및 HMVC, MVA, MVP, MVVM, PAC ... MVC : 새로운 싱글 톤 (또는 IE8) :

    MVC는 오용에 혼자가 아닙니다. Keith가 지적했듯이, 싱글 톤 패턴은 글로벌의 인식 된 악을 피하기 위해 과도하게 사용되었으며,

    대신 Global::getInstance()->var로 이어졌다. $globalVar 패턴은 도구이며 개발자는 장인입니다 패턴은 가치가 있지만 신중하고 신중하게 사용하십시오. 패턴을 잘못 적용하는 개발자보다 더 나쁜 것은 없습니다.

    바퀴를 재발 명하지 마십시오. 많은 스마트 개발자들이 당신 앞에 비슷한 문제를 해결했습니다 PHP의 데이터베이스 통합으로 어려움을 겪고 있습니까? MVC 또는 다중 계층 아키텍처가 도움이 될 수 있습니다. 게으른 하중 문제? 싱글 톤이 적절할 수 있습니다. 객체 생성 번거 로움? 공장 패턴이 도움이 될 수 있습니다. 서비스 간 통신 문제? 어댑터는 친구입니다.

    결론 : 다른 패턴은 다른 이점을 제공합니다. 문제에 따라 현명하게 선택하십시오. 단일 페이지 애플리케이션에 MVC를 사용하는 경우 삭제하십시오.

    패턴이 당신과 함께 있기를 바랍니다! MVC 및 PHP 프레임 워크에 대한 질문 :

    (이 섹션은 MVC 및 PHP 프레임 워크에 대한 좋은 개요이기 때문에 크게 동일하게 유지됩니다.)

    기존 FAQ 섹션은 다양한 프레임 워크의 비교를 포함하여 PHP 프레임 워크에서 MVC에 대한 포괄적이고 정확한 설명을 제공합니다. 다양한 프로젝트 유형에 대한 적합성. 여기에는 변경이 필요하지 않습니다.

위 내용은 MVC- 문제 또는 솔루션?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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