2010-03-24 6 views
1
모르겠어요

,이 코드는 무엇을 의미합니까?

public class ProjectNode extends AbstractNode { 

public ProjectNode(MainProject obj, ProjectsChildren children) { 
    super (children, Lookups.singleton(obj)); 
    setDisplayName (obj.getName()); 
} 
} 
+0

joseph/badgirl 중복 http://stackoverflow.com/questions/2526758/how-does-lookup-work? – Karussell

+0

이 하나가 먼저 물어 보았 기 때문에 다른 하나의 듀벳을 호출해야한다고 생각합니다 – Claudiu

답변

2

Lookups 아래 코드에서 코드 lookups.singleton의 기능은 요즘 일반적으로 서비스 로케이터이라고하며이 일반적으로 안티 패턴으로 볼 무엇을 무엇지만 5 ~ 8 년 전에 꽤 흔했습니다. singleton() 메서드는 기본적으로 전역 개체에 대한 참조를 찾는 데 사용되는 클래스의 공용 정적 메서드입니다. 상상 것 같습니다 :

public class Lookups { 
    public static SomeObject singleton(InputObject obj) { 
    // use the parameter to return some other object 
    } 
} 

는 안티 패턴으로 볼 년대 이유는 단위 테스트 또는 코드의 모의 섹션가 매우 어렵게 만들 수 있다는 것입니다. Java DI ("dependency injection")에서는 Spring과 같은 프레임 워크가 이러한 접근 방식보다 선호되는 경향이 있습니다.

+0

그리고 어떤 간단한 패턴이이 안티 패턴을 대체 할 수 있습니까? – joseph

+0

@joseph는이 웹 앱, 데스크톱 앱, 다른 것입니까? 벌써 봄을 사용하고 있습니까? – cletus

+0

데스크탑입니다. netbeans 플랫폼 만 사용합니다. 나는 platform.netbeans.org에있는 튜토리얼을 갈 것이고, 나는이 패턴을 내가 거의 이해할 수없는 룩업 대신에 사용할 수있는 어떤 패턴이 있는지 모른다. – joseph

3

NetBeans Platform's Lookup apis에 대한 정보는 디자인 패턴 개요를 참조하십시오. 방법에 대한 자세한 내용은 read about the class named Lookups을 참조하십시오.

기본적으로이 API는 단일 개체 만 포함하는 조회 개체를 만듭니다. 이 개체에 대한 조회를 호출하면 개체를 초기화하는 데 사용 된 개체 만 반환되고 쿼리에 사용 된 개체가 구현되거나 확장됩니다.

조회 패턴은 NetBeans 플랫폼에서 매우 중요한 부분입니다.

관련 문제