내가 프로그래밍 비교적 새로운 그리고 난 데 문제가 효과적으로 적용하는 방법을 이해하는 원리는 다음 링크 (현금 지급기 한)에서 나타났다 기본적으로 ISP (Interface Segregation Principle)에 불평하지 않는 디자인으로 시작하여 동작을 다른 인터페이스로 리팩토링하는 방향으로 나아갑니다. 내 질문 : 인터페이스를 사용하여 관련 추상화가
인터페이스 분리 원칙 (SOLID)을 사용해서는 안되는 시나리오의 예를 찾고 있습니다. SOA의 컨텍스트에서 서비스에 대한 인터페이스의 경우는 내가 언급했지만 (설명하지 않은) 유일한 것입니다. 하지만 왜? 이 경우 인터페이스가 설계 상으로 뚱뚱해지기 때문입니까? SOA 법령에 의해? ISP가 좋은 생각이 아닌 다른 상황이 있습니까? 미리 감사드립니다.
일부 정보를 가져 오기 위해 타사 서비스를 호출해야하는 경우가 있습니다. 이러한 서비스는 고객마다 다를 수 있습니다. 다음과 같이 인터페이스에 인증 기능이 있습니다. interface IServiceProvider {
bool Authenticate(string username, string password);
}
class ABCServicePr
나는 그 질문이 스스로 설명하는 것이라고 믿는다. 차라리 질문을지지하기 위해 예제에 좀 더 집중할 것입니다. public interface IEnumerable
{
IEnumerator GetEnumerator();
}
public interface ICollection : IEnumerable
{
void CopyTo(Array
이 상황이 여러 번 나에게 일어 났으며 해결 방법을 모릅니다. Interface segregation principle 일부 인터페이스 구현이 기능을 사용하지 않을 때 상황을 방지하기 위해 만들어졌습니다. 인터페이스의 목록이 있고 그것들과 무언가를하고 싶은 경우가 종종 있습니다. ISP가없는 예를 살펴 보겠습니다. public interface IPerso
사용되지 않는 메소드가있는 클래스의 상속이 인터페이스 분리 원칙을 위반합니까? 예를 들어 : abstract class Base
{
public void Receive(int n)
{
// . . . (some important work)
OnMsg(n.ToString());
}
protecte
의 침해 java.awt.event 패키지에서 Adapter patttern을 사용하는 것이 나에게 혼란스러워 보입니다. 처음에는 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)에 대한 명백한 위반으로 보입니다. 마찬가지로 MouseMotionAdapter 클래스는 MouseMotionListener를 구현하지만
은 (wiki에서) 생각 나게하려면 :이 인터페이스 분리의 원칙 (ISP)가 어떤 클라이언트가 는 사용하지 않는 방법에 따라 강제되지 않는다는 것을 말한다. 이제 예제를 살펴보십시오. 여기 내 변경 가능한 개체가 있습니다. 이 곳에서 편집과 읽기 전용 인터페이스를 통해 변화를 통지 할 수있다 : interface ICounter
{
event A