2008-08-11 5 views
0

지난 몇 년 동안 나는 많은 사용자 컨트롤을 사용하여 숨기거나 보여 주었던 컨트롤이 길게 흐르는 페이지에서 변경되었습니다. 나는 모범 사례에 대한 동료 간 토론을 항상 해왔다..NET 인터페이스

채우는 속성이 있어야합니까? 아니면 paramterized 하위 기능을 사용하여 컨트롤의 정보를로드해야합니까?

paramteter 's를 사용하는 것에 대한 나의 두려움 중 하나는 모든 것이 채워지는 것을 확신 할 수 없다는 사실입니다.

인터페이스를 사용하기위한 기본 규칙은 무엇입니까? 나는 결코 그것을 창조하지 않았다. 그리고 이것을 시도해야합니까? '서브로드'으로 머물러야합니까?

답변

1

인터페이스가 많은 도움이 될지 잘 모르겠습니다. 내 이해는 페이지를 다른 컨트롤을 포함하는 "복합"사용자 컨트롤 집합으로 나누고 값을 설정하기 위해 속성을 사용할지 여부를 결정하려는 것입니다.

나는 이것이 정말로 사용자 컨트롤이 어떻게 설계되어 있는지 그리고 페이지 등 (하나의 가능한 시나리오)에 동적으로 추가되는지 여부에 달려 있다고 생각합니다. 필자는 생성자에서 물건을 지정하거나 컨트롤을 생성하기 위해 팩토리 메서드를 사용하는 것에 대한 개인적인 선호를 가지고 있습니다. 모든 것이 설정되었는지 확인하기 위해 제작시 책임이 있다고 가정합니다. 속성에 대한 나의 경험은 내가 때때로 무언가를 설정하는 것을 잊어 버리고 내 실수를 깨닫지 못한다는 것입니다. 속성을 설정하거나 하위를 사용하는 것에 대한 요점은 채워지는 모든 것이 제게 의미가 없습니다. 당신이 어떤 종류의 의존성을 가지고 있고, 다른 어떤 것을로드 할 필요가 있다면, 그것이 속성 이건 하위 이건 관계없이 일어날 수 있습니다.

인터페이스에 대한 구문을 보려면 VB.NET/C# /OOP의 모든 설명서를 참조하십시오. 인터페이스는 기본적으로 클래스에 대한 계약을 설명합니다. 클래스 A와 B가 있고 둘 다 ITime이라는 인터페이스를 구현하면 둘 다 ITime에 정의 된 모든 메소드를 제공합니다. 그들은 여전히 ​​자신의 메서드를 추가 할 수 있지만 최소한 ITime의 메서드 구현 (예 : GetTime(), GetCurrentTime()이 ITime의 메서드로 포함될 수 있음)을 구현해야합니다. 인터페이스는 A, B 클래스에 이름, 매개 변수 및 반환 유형 만 알려주는 방식으로 클래스 A 또는 B에 지시하지 않습니다. 인터페이스 상속이 구현 상속과 다른 점에 대한 자세한 내용은 OOP 북에서 상속 조회를 참조하십시오.