Interfaces 및 Base 클래스에는 많은 게시물이 있지만 올바른 디자인 패턴 이해를 얻는 데 어려움을 겪고 있습니다.인터페이스 및 기본 클래스 사용 이해
보고 클래스를 작성하는 경우 모든 초기 보고서에서 구현할 핵심 속성, 메서드 등이 포함 된 인터페이스를 만드는 것이 좋습니다.
예를 들어:
다음Public Interface IReportSales
Property Sales() As List(Of Sales)
Property ItemTotalSales() As Decimal
End Interface
Public Interface IReportProducts
Property Productss() As List(Of Inventory)
Property ProductsTotal() As Decimal
End Interface
은 내가 인터페이스를 구현하는 클래스를 가질 것입니다 가정
Public Class MyReport
Implements IReportSales
Public Property Sales() As System.Collections.Generic.List(Of Decimal) Implements IReportItem.Sales
Get
Return Sales
End Get
Set(ByVal value As System.Collections.Generic.List(Of Decimal))
Items = value
End Set
End Property
Public Function ItemTotalSales() As Decimal Implements IReport.ItemTotalSales
Dim total As Decimal = 0.0
For Each item In Me.Sales
total = total + item
Next
End Function
End Class
내 생각은 "다른 보고서는 사용할 수 없습니다 있기 때문에 인터페이스해야한다고했다 항목 ",이 방법은 주어진 보고서 클래스에 사용되는 개체를 구현할 수 있습니다.
나는 출발합니까? 내가 방금 기본 클래스를 만들었어야합니까? 기본 클래스를 작성하지 않은 나의 논리는 모든 보고서 클래스가 "항목"을 사용할 수있는 것은 아니므로 사용하지 않는 부분을 정의하고 싶지는 않았습니다.
여기서 인터페이스를 구현하는 이유를 설명 할 수 있습니까? 생각하지 마라, 그것은 불필요하게 기억을주고있다. 나는 인터페이스없이 그것을 할 수있다. 권리? – Pankaj
귀하의 질문에 약간 혼란 스럽습니다. 'Items'를 사용하지 않는 보고서를 더 많이 구현해야 할 필요가 있습니까? 인터페이스에 요구 사항으로 정의되어 있습니다. 현재 IReport를 구현하고자하는 클래스는'Items()'속성과'ItemTotalSales()'함수를 제공해야합니다. – Thomas
Items를 포함하는 인터페이스를 구현했다고해서 반드시 사용해야하는 것은 아닙니다. – Xaisoft