«single-responsibility» 태그된 질문

단일 책임 원칙 (Single Responsibility Principle)은 시스템의 각 모듈이 단일 특징 또는 기능, 또는 응집 기능의 집합을 책임 져야한다고 명시하고 있습니다. 그것을 넣는 또 다른 일반적인 방법은 각 모듈을 변경해야 할 이유가 하나만 있어야한다는 것입니다.

6
단일 책임 원칙으로 고군분투
이 예제를 고려하십시오. 웹 사이트가 있습니다. 사용자가 게시물을 작성하고 (무엇이든 가능) 게시물을 설명하는 태그를 추가 할 수 있습니다. 코드에는 게시물과 태그를 나타내는 두 개의 클래스가 있습니다. 이 클래스 Post들을 호출 할 수 있습니다 Tag. Post게시물 생성, 게시물 삭제, 게시물 업데이트 등 Tag을 처리합니다. 태그 생성, 태그 삭제, 태그 업데이트 등을 …

6
SRP를 구현하는 실용적인 방법은 무엇입니까?
클래스가 단일 책임 원칙을 위반하는지 확인하기 위해 사람들이 실제로 사용하는 기술은 무엇입니까? 나는 수업이 바뀌어야 할 이유가 하나 밖에 없다는 것을 알고 있지만, 그 문장에는 실제로 그것을 구현할 실질적인 방법이 부족하다. 내가 찾은 유일한 방법은 ".........해야합니다 ......... 자체" 문장을 사용하는 것입니다. 여기서 첫 번째 공백은 클래스 이름이고 나중에 공백은 메서드 …

4
객체 지향 프로그래밍에서 메인의 책임은 무엇입니까?
객체 지향 프로그래밍에 익숙하지 않고 메인의 목적이 무엇인지 이해하지 못합니다. 네, 그것이 프로그램의 "진입 지점"이라는 것을 읽었지만 이해하지 못하는 것은 메인에 무엇이 있어야합니까? 그리고 그 책임은 무엇입니까? 메인에 쓰여진 내용이 다른 개체에 캡슐화 될 수 있지만이 방법을 얼마나 사용해야합니까? Java로 작성한 첫 번째 주요 내용은 다음과 같습니다. 매우 간단하지만 내 …

3
책임을 분담 할 때 단일 책임을 관리하는 방법은 무엇입니까?
나는 기본 두 개의 클래스를 가지고 Operation와 Trigger. 각각에는 특정 유형의 작업 또는 트리거를 전문으로하는 여러 하위 클래스가 있습니다. A는 Trigger특정을 트리거 할 수 있습니다 Operation. 동안 Operation특정에 의해 트리거 될 수 있습니다 Trigger. 주어진 Operation것을 주어진 Trigger(또는 그 반대로) 매핑하는 코드를 작성해야 하지만 어디에 넣을 지 잘 모르겠습니다. 이 …

2
SRP를 따를 때 엔터티의 유효성 검사 및 저장을 어떻게 처리해야합니까?
내가 읽어 봤는데 클린 코드 최근 SOLID에 대한 다양한 온라인 기사를, 나는 아무것도 몰라처럼 더 나는 그것에 대해 읽고, 더 느낌. 나는이의 내가 ASP.NET MVC 3하자 말을 사용하여 웹 응용 프로그램을 짓고 있어요 가정 해 봅시다 UsersController과 Create같은 조치 : public class UsersController : Controller { public ActionResult Create(CreateUserViewModel viewModel) …

2
단일 책임 및 사용자 정의 데이터 유형
지난 몇 달 동안 여기 SE 및 다른 사이트의 사람들에게 내 코드에 대해 건설적인 비판을 제공했습니다. 거의 매번 튀어 나온 한 가지가 있으며 여전히 그 권장 사항에 동의하지 않습니다. : P 여기에서 논의하고 싶습니다. 아마도 상황이 더 명확해질 것입니다. 단일 책임 원칙 (SRP)에 관한 것입니다. 기본적으로 데이터 조작 클래스 Font는 …

7
수업을 너무 세분화하고 있습니까? 단일 책임 원칙을 어떻게 적용해야합니까?
세 가지 기본 단계를 포함하는 많은 코드를 작성합니다. 어딘가에서 데이터를 가져옵니다. 그 데이터를 변환하십시오. 그 데이터를 어딘가에 두십시오. 나는 일반적으로 각각의 디자인 패턴에서 영감을 얻은 세 가지 유형의 클래스를 사용합니다. 공장-일부 리소스에서 개체를 작성합니다. 중재자-공장을 사용하고 변형을 수행 한 다음 지휘관을 사용하십시오. 지휘관-그 데이터를 다른 곳에 두십시오. 제 수업은 매우 …

3
API 객체 정의에 타사 참조 ID를 속성으로 포함시키는 것은 나쁜 습관입니까?
이처럼 : Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" referenceId가 걱정 됩니다. 시스템 도메인은 다양한 형식 (xml, …

2
액세스 제어 표준 설계 (디자인 패턴)
내 인터페이스 디자인을 찾고 있어요 내가 역할 기반 액세스 제어를 구현하는 가장 "올바른"방법을 결정하기 위해 고군분투하고, 주어진 user과을 subject(가) 있음 user으로 접근하고 싶습니다. 내가 볼 수있는 한 세 가지 핵심 옵션이 있습니다 (첫 번째는 첫 번째 세 개를 개화하고 다섯 번째는 네 번째를 조정합니다). 쿼리 subject(가) 것을 사용 권한 목록이 …

2
"필요한 것만 요청"인터페이스 원리가 있습니까?
나는 기본적으로 "필요한 것만 요구하라"는 인터페이스를 디자인하고 소비하는 원칙을 사용하여 자랐습니다. 예를 들어 삭제할 수있는 유형이 많으면 Deletable인터페이스를 만들 것입니다 . interface Deletable { void delete(); } 그런 다음 일반 클래스를 작성할 수 있습니다. class Deleter<T extends Deletable> { void delete(T t) { t.delete(); } } 코드의 다른 곳에서는 항상 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.