Mixin/Traits 시스템과 동등한 객체 레벨을 무엇이라고 부르십니까? 패턴 이름이 있습니까?

StackOverflow https://stackoverflow.com/questions/355786

문제

나는 이전에 Mixins가 무엇인지에 대해 물었고 패턴의 의미의 요지를 얻기 시작했습니다. 그러나 클래스 레벨과 달리 객체 레벨에서 믹스 인과 같은 것을 수행하는 일반적인 패턴 이름이 있는지 궁금해했습니다.

의사 코드 (일부 존재하지 않는 언어) :

  Class MyClass
  {
     function foo()
     {
        print("foo")
     }
  }

  function bar()
  {
     print("bar")
  }

  object = MyClass.new()
  object.xxxx(bar)

  object.bar() #output: bar

나는 이와 같은 것들이 여러 언어로 어떤 방식 으로든 할 수 있다는 것을 알고 있지만, 기능 xxxx의 "표준"이름이 무엇인지 궁금하고 xxxx가 나타내는 것이 무엇인지, 그리고이 패턴의 이름이 무엇인지 궁금합니다. .

감사!

편집 : Finnsson의 답변에 대한 확장 이와 같은 것이 또 다른 경우라고 생각합니다.

 object.xxxx(OtherClass)
 object.otherfoo()

연결이 적절할까요?

인용문 : "연결 : 순수한 프로토 타이핑하에, 이는 연결 프로토 타입이라고도합니다 ..."-wikipedia

도움이 되었습니까?

해결책

이것은 프로토 타입 기반 프로그래밍 언어에서 일반적입니다. 나는 그것이 루비에서 "수입"이라고 불리는 것을 믿지만 루비를 마지막으로 프로그래밍 한 지 얼마되지 않아서 확실하지 않습니다.

JS/Ruby에서 당신은 쓸 것입니다

object.bar = bar;
object.bar() // output: bar

그리고 그것이 실제 패턴이 아닌 것보다, 그것은 단지 프로토 타입 기반 언어로 완벽하게 이해되는 과제 (O.bar = bar)이기 때문에 단지 과제 (O.bar = bar)이기 때문입니다. 예제에서 XXXX가 프로토 타입 또는 이와 유사한 것으로 호출 될 수 있다고 생각합니다 ( http://en.wikipedia.org/wiki/prototype 기반 _programming 언어가 이것을 부르는 곳 프로토).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top