두 개의 다른 개체에 저장되어있는 두 개의 개체와 두 개의 개체가 모두 1 개의 차이만으로 완전히 동일하다는 것을 의미합니다. . 일반 메서드를 사용하는 방법 (예 : 도메인 개체가있는 AddUser) OldVersionProject.User 및 NewVersionProject.User
는 어떻게 든이 같은 객체 인 DLL을 표시하는 것이 가능, 그래서 동일한 공통 서비스 ADDUSER와 함께 새 프로젝트에서 이전 프로젝트에서 "사용자"개체와 "사용자"를 사용할 수답변
이 당신의 일반적인 서비스 그리고 인터페이스
namespace OldVersionProject
{
public class User : IUser
{
}
}
namespace NewVersionProject
{
public class User : IUser
{
}
}
public interface IUser
{
// common properties
}
위해 밖으로 비명
public void AddUser(IUser user)
{
// user is now version independant
}
공유 천칭 자리에 User
클래스를 추출 예 : BusinessObjects
, User
클래스가 필요한 모든 프로젝트의 해당 라이브러리를 참조하십시오.
'User'에는 두 가지 버전이 있는데, 그게 문제입니다. 충돌하고 있습니다. – James
@James는 내 대답을 잘못하지 않습니다. 모두가 몇 가지 속성을 공유하고 DTO처럼 행동하고 공유 라이브러리에 하나의 클래스 만 붙이는 경우 두 프로젝트에서'User' 클래스를 제거하면 해결할 수있는 문제입니다. 변경하려는 코드의 양에 달려 있습니다. – CodeCaster
"* 나는 공통 메소드에서 지원해야하는'User' 클래스의 여러 버전을 가지고 있습니다. *"당신은 여전히 똑같은 대답을하겠습니까? 그것은 내가 그것을 읽는 방법과 거의 같습니다 ... 나는 그것이 인간의 아름다움이라고 생각합니다. 사람들은 사물에 대해 다른 해석을했습니다. – James
예 .. 나는 이것에 대해 생각하고있었습니다. 나는 이것이 최선의 대답이라고 생각한다. 고맙습니다! – Sergey