수업 코드를 변경하지 않고 수업 기능을 확장하시겠습니까?
첫 번째 사진
현재 애플리케이션은 yaf
프레임워크를 사용하고 있으며 모든 컨트롤러는 继承
에서 파생되었습니다. 그러나 이후 기능(권한 관리, 제품 관리, 로그 관리 등)이 증가함에 따라 .), Base_controller
더 이상 부풀어오를 수 없습니다, Base_controller
에서 초기화할 수 있습니다. 하지만 각 기능은 Base_controller
과 강력하게 결합되어 있으므로 더 나은 방법이 있는지 궁금합니다. 해결책. Base_controller
, (지금 이것밖에 모르니까 젠장), 装饰模式
를 특정 데코레이션 클래스(권한 관리, 로그 관리)로 꾸며서 그러나 데코레이션 모드에서는 데코레이터(Base_controller
)와 특정 데코레이터가 모두 동일한 클래스에서 상속되어야 하므로 이제 Base_controller
는 다른 클래스에서 상속되었으므로 Base_controller
가 역할을 수행할 수 없습니다. 데코레이터, Base_controller
그럼 제가 잘못된 방향으로 가고 있는 건가요? 장식 모드가 여기에 전혀 적합하지 않은 걸까요, 아니면 다른 디자인이 필요한 걸까요?
답글 내용:
첫 번째 사진
프레임워크를 사용하고 있으며 모든 컨트롤러는 yaf
에서 파생되었습니다. 그러나 이후 기능(권한 관리, 제품 관리, 로그 관리 등)이 증가함에 따라 .), 继承
더 이상 부풀어오를 수 없습니다, Base_controller
Base_controller
물론 다양한 기능에 따라 다양한 클래스 파일을 만든 다음 필요에 따라
과 강력하게 결합되어 있으므로 더 나은 방법이 있는지 궁금합니다. 해결책. Base_controller
Base_controller
지금 생각하고 있는 것은
装饰模式
를 특정 데코레이션 클래스(권한 관리, 로그 관리)로 꾸며서 그러나 데코레이션 모드에서는 데코레이터(
)와 특정 데코레이터가 모두 동일한 클래스에서 상속되어야 하므로 이제 Base_controller
는 다른 클래스에서 상속되었으므로 Base_controller
가 역할을 수행할 수 없습니다. 데코레이터, Base_controller
Base_controller
그렇다면 제가 열심히 작성했던 기능적 클래스(권한관리, 제품관리, 로그관리)를 꾸미려면 누구를 써야 할까요?
그럼 제가 잘못된 방향으로 가고 있는 건가요? 장식 모드가 여기에 전혀 적합하지 않은 걸까요, 아니면 다른 디자인이 필요한 걸까요?
PHP 특성 사용
초대해주셔서 감사합니다.
위에서 언급한 특성은 실제로 해결책이지만 문제의 핵심은 여기에 없을 수도 있습니다.
장식 모드에 대한 이해가 정확하지 않더라도 큰 문제는 아니며 핵심도 아닙니다
실제 개발에서 BaseController가 부풀어오르는 문제는 겪어본 적이 없습니다. 이는 대개 개발자의 레벨(또는 영역)의 결과이며, 클래스 코드를 변경하더라도 클래스 코드를 변경하지 않는 문제일 수 없습니다. 해결되었으나 재구성이 필요합니다.
일반적으로 BaseController는 컨트롤러에서 제공해서는 안 되는 많은 메서드를 선언하여 발생합니다. 이러한 메서드는 모델에서 선언되거나 도우미에 속해야 합니다. 모델은 공유되므로 모든 컨트롤러에서 해당 메서드를 사용할 수 있습니다. 그리고 Model에서 정의해야 할 메소드가 Controller에 배치되어 있고 Controller가 공개되지 않은 경우, 이때 가장 간단한 해결책은 Base에 배치하는 것입니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
