는
내가 제안하려는 솔루션, 인터페이스에 Accountant
에 전달 추상적 인 객체에있을 것입니다 :) ... 반군 전송 존재하지 않는 경우는 제외 DTO들 사용에 실제 지점이 없다 IAccountee
하고있다 Person
그것을 구현 ... 나는 C#을 잘 알고 아니에요 (프로필에서, 나는 그 : 선택의 언어이다 infered), 그러나 이것은 아마도 올바른 방향을 가리켜 야 :
class Accountant {
//....
public void performAction(IAccountee target)
{
}
}
interface IAccountee
{
string Name
{
get;
}
int Salary
{
get;
set;
}
}
class Person : IAccountee
{
//implementation here, as well as some stuff specific to Person
}
기본적으로 SOLID에있는 D입니다. :) ... 일부 언어가 없다면 당신은 (접근을 만들 강제하는
가
까지 내가 이해, C#을 인터페이스 (대부분의 언어와 같은) 변수를 필요로하지 수 있습니다 ... 유연하고 깨끗하고도 Accountant
와 Person
에서 불필요한 정보를 공유 방지/IDE 기능을 사용하여 기본 일반 접근자를 생성) 아직 수행하지 않은 경우 일반 변수를 사용하는 것보다 시간이 많이 걸리고 일반 필드 액세스보다 많은 성능이 필요하지만 OTOH, 좋은 일을 생각해보십시오. 적어도 성능이 떨어지는 경우 ... 여분의 DTO 클래스를 만들고 앞뒤로 (또는 한 방향으로) 데이터를 복사하는 것보다 훨씬 더 우아하다고 생각합니다.
도움이되는 희망 ... ;)
왜 IAccountee를 사용 하시겠습니까? 단순히 변수를 쉽게 전달하기위한 것이거나 누락 된 부분이 있습니까? – silentcontributor
그것은 Accountant를 Person으로부터 분리하고 회계사에게 Accountant에게 불필요한 모든 것을 숨기고 있습니다. – back2dos
아, 그럼. 감사. – silentcontributor