PHP 편집기 Youzi는 "함수가 인터페이스를 구현할 때 패턴의 이름은 무엇입니까?"라는 일반적인 질문에 답하기 위해 왔습니다. PHP에서는 함수가 인터페이스의 모든 메소드를 구현할 때 이 패턴을 알려진 패턴이라고 합니다. "인터페이스 구현 패턴" 또는 "인터페이스 어댑터 패턴"으로 사용됩니다. 인터페이스 구현 패턴은 프로그래머가 인터페이스를 구현하여 메서드 집합을 정의함으로써 코드 재사용 및 모듈화를 달성할 수 있도록 하는 일반적인 디자인 패턴입니다. 이 모델을 통해 우리는 인터페이스의 다형성을 달성하고 코드의 유연성과 유지 관리성을 향상시킬 수 있습니다. 객체지향 프로그래밍이든 함수형 프로그래밍이든 인터페이스 구현 패턴은 중요한 기술적 수단입니다.
go에서는 http.handler
接口和具体类型http.handlerfunc
과 같은 인터페이스를 구현하는 함수를 만들 수 있습니다. 저는 다양한 직원의 보너스를 계산하기 위해 이 패턴의 또 다른 간단한 예를 만들었습니다.
위에서는 동일한 작업을 수행하기 위해 구조체를 사용하는 대신 간단한 bonusfuncs
实现接口 bonuscalculator
을 사용했습니다.
이 패턴에 이름이 있나요? 여러 곳에서 본 것 같은데 이름은 못 찾았네요.
이 패턴에 이름이 있나요? 여러 곳에서 본 것 같은데 이름은 못 찾았네요.
예, 이 패턴을 Adapter라고 부르는 이유는 특정 "인터페이스"(이 경우 클로저)를 다른 인터페이스( bonuscalculator
를 만족하는 유형)로 사용할 수 있기 때문입니다.
귀하의 예에는 인터페이스가 있습니다. bonuscalculator
:
그러나 func(salary float64) float64
유형의 클로저가 있고 bonusfunc
를 만족하는 유형이 필요할 때 이를 전달할 수 있기를 원합니다. 즉, 메소드가 있습니다. calculate(salary float64) float64
(클로저에는 그러한 이름을 가진 메소드가 없으므로 func(salary float64) float64
类型的闭包,并且您希望在需要满足 bonusfunc
的类型时能够传递它们,即具有方法 calculate(salary float64) float64
(闭包没有具有此类名称的方法,因此它们不满足 bonuscalculator
를 만족하지 않습니다).
원하는 것은 func(salary float64) float64
를 func(salary float64) float64
改编为 bonuscalculator
。因此,您定义了一个新类型 bonusfunc
,它是适配器。它将派生自您想要适应的闭包类型,然后通过定义一个方法 calculate(salary float64) float64
来满足 bonuscalculator
에 적용하는 것입니다. 따라서 어댑터인 새로운 유형 bonusfunc
를 정의합니다. 이는 적용하려는 클로저 유형에서 파생된 다음 기본 클로저를 간단히 호출하는 calculate(salary float64) float64
메서드를 정의하여
으아아아
bonusfunc
是适配器;它的存在只是为了适应 func(salary float64) float64
以便满足 bonuscalculator
接口。现在,每当您将 func(salary float64) float64
分配给 bonusfunc
时,您都会获得一个满足 bonuscalculator
bonusfunc
는 어댑터입니다.
func(salary float64) float64
에 적용하기 위해서만 존재합니다. 이제 bonusfunc
에 func(salary float64) float64
를 할당할 때마다 🎜 를 만족하는 값을 얻게 됩니다. 🎜위 내용은 함수가 인터페이스를 구현할 때 스키마 이름은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!