Skip to main content

단일 책임 원칙은 무엇입니까?

computer 컴퓨터 프로그래밍 및 디자인에서 단일 책임 원칙은 프로그램의 모든 클래스가 더 큰 응용 프로그램에서 하나의 기능 만 수행해야한다는 견해를지지하는 개념입니다.이 아이디어는 전체 클래스가 단일 책임을 수행하는 데 중점을두고 외부 수업에 거의 의존하지 않기 때문에 캡슐화와 같은 객체 지향 프로그래밍의 이상을 부분적으로 촉진합니다.동시에, 단일 객체의 기능이 객체가 처리하는 데이터에서 분리되기 때문에 초기 객체 지향 프로그래밍의 일부 개념에 다소 반대적입니다.일부 중앙 데이터.단일 책임 원칙은 책임 중심 디자인으로 알려진 설계 모델 유형의 기초입니다.일부 설계 원칙은 핸드셋을 전화선의 입력과 스피커의 출력 전송을 모두 처리하는 단일 객체로 간주됩니다.단일 객체에 단일 책임 만있는 단일 책임 모델에서 핸드셋은 전화선에서 입력을 수신하거나 데이터를 통해 데이터를 출력하는 것과 같은 단일 함수를 수행 한 여러 개별 객체로 구성됩니다.이어 피스.

. 단일 책임 원칙을 사용하여 가능하게하는 장점 중 하나는 매우 높은 수준의 추상화와 모듈성입니다.핸드셋 예제에서, 전화선의 입력 또는 신호가 사용자에게 출력되는 방식을 인터페이스를 위해 동일한 계약을 준수하는 한 인접 클래스에 영향을 미치지 않고 변경 될 수 있습니다.또한, 각 클래스의 재사용 가능성은 매우 높을 수 있습니다. 각 클래스는 완전히 캡슐화되고 주변 물체에 전혀 의존하지 않더라도 하나의 책임에 초점을두기 때문입니다.모두 동일한 데이터에서 작동하는 많은 클래스와 객체.이는 많은 양의 오버 헤드와 복잡한 설계 프로세스를 의미 할 수 있습니다.또한 프로그램의 단일 부분은 수천 개의 작은 클래스 파일로 구성 될 수 있기 때문에 대규모 프로그램 디버깅을 어렵게 만들 수 있습니다.데이터는 설계 목적으로 분리됩니다.이것은 디자인의 특정 자유, 캡슐화 및 모듈성으로 이어지지 만, 데이터와 한 번에 데이터와 상호 작용하려는 여러 클래스를 용이하게하는 데 사용해야하는 여러 가지 중간 패턴 및 설계를 생성 할 수 있습니다.반면에, 객체의 데이터와이를 조작하는 데 사용 된 메소드가 단일 다중 책임 객체에 함께 결합되면 시스템 규모로 수정되거나 변경되거나 복잡해지면 코드가 수정하기가 어려워 질 수 있습니다.