디자인 모델 6 대 원칙(5)인터페이스 격 리 원칙
21390 단어 디자인 모드(Java)
정의:약칭 ISP.클 라 이언 트 는 필요 하지 않 은 인터페이스 에 의존 해 서 는 안 된다.다른 클래스 에 대한 의존 은 최소 인터페이스 에 세 워 져 야 한다.
예 를 들 면:
지 정 된 식재 료(토마토,오이,미나리)를 주 고 냉 열 채 사 는 자신의 수요 에 따라 식재 료 를 예 처리 해 야 한다.
먼저 인터페이스 격 리 원칙 을 사용 하지 않 으 면 코드 가 어떻게 되 는 지 봅 시다.
public class MadeFood {
interface MadeFoodInter{
void madeHot();
void madeCold();
}
class Tomatoes implements MadeFoodInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
class Cucumber implements MadeFoodInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
class Celery implements MadeFoodInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
public MadeFoodInter getMade(String name){
MadeFoodInter madeFoodInter = null;
if(name.equals(" ")){
madeFoodInter = new Tomatoes();
}else if(name.equals(" ")){
madeFoodInter = new Cucumber();
}else if(name.equals(" ")){
madeFoodInter = new Celery();
}
return madeFoodInter;
}
}
위의 예 를 통 해 알 수 있 듯 이 차 가운 요리 에 필요 한 기능 을 인터페이스 에 넣 은 후에 뜨 거 운 요리 아저씨 가 인 터 페 이 스 를 호출 한 후에 차 가운 요리 의 제작 방법 도 뜨 거 운 요리 아저씨 앞 에 강제로 놓 았 다.이것 은 우리 가 디자인 해 서 는 안 되 는 것 이 분명 하 다.다음 조정 진행:
public class MadeFood {
interface MadeHotInter{
void madeHot();
}
interface MadeColdInter{
void madeCold();
}
class Tomatoes implements MadeHotInter,MadeColdInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
class Cucumber implements MadeHotInter,MadeColdInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
class Celery implements MadeHotInter,MadeColdInter{
@Override
public void madeHot() {
Log.w(" "," -> -> -> -> ");
}
@Override
public void madeCold() {
Log.w(" "," -> -> -> -> ");
}
}
public MadeHotInter getHote(String name){
MadeHotInter madeFoodInter = null;
if(name.equals(" ")){
madeFoodInter = new Tomatoes();
}else if(name.equals(" ")){
madeFoodInter = new Cucumber();
}else if(name.equals(" ")){
madeFoodInter = new Celery();
}
return madeFoodInter;
}
public MadeColdInter getColde(String name){
MadeColdInter madeFoodInter = null;
if(name.equals(" ")){
madeFoodInter = new Tomatoes();
}else if(name.equals(" ")){
madeFoodInter = new Cucumber();
}else if(name.equals(" ")){
madeFoodInter = new Celery();
}
return madeFoodInter;
}
}
여기 서도 당연히 코드 를 간소화 할 수 있 지만 이렇게 하면 더욱 직관 적 이다.이렇게 처리 한 후에 뜨 거 운 요리 사 는 모두 뜨 거 운 요 리 를 만 드 는 방법 을 받 았 고 차 가운 요리 사 는 차 가운 요 리 를 만 드 는 방법 만 받 았 다.이 방법 을 호출 하면 코드 양 이 반드시 줄 어 들 지 는 않 지만 논리 가 뚜렷 해진 다.
한 마디 로 하면 인터페이스 격 리 원칙 은 가능 한 한 인터페이스 안의 방법 을 호출 할 때 반드시 사용 하 는 것 이다.원칙적으로 인터페이스 가 많 을 지 언 정 기능 이 복잡 하지 않다(물론 개발 실제 상황 에 따라).
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 방문 자(Visitor)모드 구현텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.