여기 내 간단한 senario입니다. 인터페이스를 구현 한 클래스 (BLL 클래스)가 있습니다. 내가 원하는 것은 프리젠 테이션 레이어 내에서 사용자가 인터페이스에만 접근하고이 인터페이스로 클래스를 상호 작용하고 클래스 함수가 직접 상호 작용하지 않기를 바랍니다. 거기에 어쨌든 할 수 있습니까? 수업 문제의 인터페이스 implimenttaion
내 BLL 클래스 implemeted 인터페이스 :IOfis bll_ofis = new BLL_Ofis();
bll_ofis.Update();
을하지만이 상황에서 나는 또한이 같은 직접 클래스에 도달 할 수 있습니다 : 다음 presantatoin 층 내부
public interface IOfis
{
bool Add(Ofis ofs);
bool Update(Ofis ofs);
}
public class BLL_Ofis:IOfis
{
public bool Update(Ofis ofs)
{
DAL_Ofis ofs_dal = new DAL_Ofis();
try
{
return ofs_dal.Update(ofs);
}
catch (Exception)
{
throw;
}
finally { ofs_dal = null; }
}
public bool Add(Ofis ofs_obj)
{
DAL_Ofis ofs_dal = new DAL_Ofis();
try
{
return ofs_dal.Add(ofs_obj);
}
catch (Exception)
{
throw;
}
finally { ofs_dal = null; }
}
}
, 내가 같이 사용
BLL_Ofis bll_ofis = new BLL_Ofis();
bll_ofis.Update();
나는 그것을 원하지 않는다. 인터페이스 내부에서 선언 된 메소드에만 접근하고 싶습니다.
하지만 그들은 다른 dll 안에 있습니다. 즉, 다른 어셈블리를 의미합니다. – sakir
나는 프리젠 테이션 레이어와 BLL을 다른 클래스 라이브러리로 사용합니다. – sakir
이 경우 메소드는 공용 인터페이스를 통해서만 액세스 할 수 있습니다. 기능성 – bolistene