내 응용 프로그램에 n 계층 아키텍처가 있습니다. 나는 다른 계층을 가지고있다 (비즈니스 로직 & 데이터 링크 & GUI). 하나의 레이어에서 다른 레이어로 데이터를 전달하기 위해 몇 가지 공통 클래스를 사용하고 있습니다. 나는 두 개의 변수 Return value
과 Return Message
을 가진 클래스 (예 : RetrnValueCls
)를 가지고있다. 한 레이어에서 다른 레이어로 데이터를 전달하는 동안 다른 변수가있는 다른 클래스 (예 : MasterItemsCls
)와 함께 Return Value
클래스를 반환해야합니다. 다음은 C#에서는 한 레이어에서 다른 레이어로 반환 유형으로 두 개의 다른 클래스를 전달할 수 있습니까?
public MasterItemsCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of MasterItemsCls and pass it other methods in other layers. */
}
public ReturnValueCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of ReturnValueCls and pass it other methods in other layers. */
}
내가 한 번 방법 GetMasterItemsMDL
에 대한 반환 형식으로 모두 위의 클래스 (MasterItemsCls
& ReturnValueCls
)을 반환하고, 또한 내가 수업을 모두 결합하지 않으려합니다. 제가 할 수있는 어떤 방법이 있다면 알려주십시오.
+1하면 C#에서'Tuple's를 사용하는 경우 가끔 읽을 방법이없는 코드를 얻는 방법에 대해 알아 봅니다. 예를 들어'tuple.Item1 + tuple.Item2 - tuple.Item3'은 가독성을 불어 넣습니다. –
@IlyaIvanov : 튜플은 편리 할 수 있지만 일반적으로 바로 그 이유 때문에 맞춤 클래스를 만드는 데 시간이 걸립니다. –
주관적이지만 동의하지만 튜플은 F #으로 작성된 부분을 C# 코드와 통합하는 좋은 방법이라고 생각합니다. F #은 패턴 매칭과 같이 Tuples를 다루기에 꽤 괜찮은 메커니즘을 가지고 있습니다. 필자는 투플을 프로젝트에 통합하려고 시도했지만 두 가지 이상의 일반적인 매개 변수를 사용하지는 않으며 매우 드물게 사용합니다. –