아래 코드를 참조하십시오 BLL과 DAL (데이터 액세스 계층)에 (비즈니스 로직 계층) :속보 BLL
는Imports Microsoft.VisualBasic
Public Class PersonBLL
Private Name As String
Private Age As Integer
Dim objPersonDAL As New PersonDAL
Dim objPerson As Person
Public Sub getPersonByID()
objPerson = objPersonDAL.getPersonByID()
MsgBox(objPerson.Name)
End Sub
End Class
Public Class PersonDAL
Private Name As String
Private Age As Integer
Public Function getPersonByID() As Person
'Connect to database and get Person. Return a person object
Dim p1 As New Person
p1.Name = "Ian"
p1.Age = 30
Return p1
End Function
End Class
Public Class Person
Private _Name As String
Private _Age As Integer
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property
Public Property Age() As Integer
Get
Return _Age
End Get
Set(ByVal value As Integer)
_Age = value
End Set
End Property
End Class
PersonBLL는 PersonDAL를 호출하고 Person 객체를 반환합니다. 이것이 올바른 접근 방법입니까? 즉, 영구 클래스를 식별하고 데이터에 액세스하고 Person 객체를 반환하는 함수가있는 해당 DAL 클래스를 만들었습니다.
이 질문은 "주관적인"의견이 있습니다. 나는 이것에 동의한다. 디자인이 프로젝트의 요구 사항에 달려 있다는 것을 알고 있습니다. 솔리드 (단일 책임 등)와 유사한 DAL을 설계하기위한 모든 원칙이 있습니까?
는 "올바른 접근 방식은"다소 주관적 의미를 정확하게 무엇인지 지정되도록, 인터페이스 같은 것에 대해 관심 . "이것이 유효한 접근인가?"라고 대답 할 수있다. 나는 "그렇다"라고 말하고 싶다. – David
@ David Stratton, 질문을 업데이트했습니다. 데이터 액세스 레이어 설계와 관련이있는 SOLID와 같은 원칙을 알고 계십니까? – w0051977
좋은 편집. 나는 이보다 더 똑똑한 사람들을 대답하게 할 것이다. 이것은 나의 전문 분야가 아니며,이 사이트의 대부분의 사람들은 저보다 훨씬 똑똑한 지옥입니다. 나는 너를 틀리게 조종 할 것이다. 필자가 제공해야하는 것은 이전에이 디자인을 .NET 이외의 배경을 가진 사람들로부터 보았습니다. 일반적으로 보입니다. 나는 개인적으로 지루한 것을 발견한다. 그러나 내가 말했던 것처럼, 나는 블록에서 가장 똑똑한 사람이 아니다. – David