OOP 및 학습 패턴을 처음 접했기 때문에 Factory Method를 시험해 볼 간단한 코드를 작성 했으므로 다른 하위 유형을 추가하려는 경우를 제외하고는 모두 잘된 것처럼 보입니다. 다음 코드는 지금까지의 : 요구 사항이 나이> 70 일 때를위한 하위 클래스 Pensioner을 포함 나중에 변경 public interface Person {
p
문서 생성기를 구현하려고합니다. 나는 Open-Closed Principle을 따르라고 주장한다. 여러 문서 유형 (즉, 계약, 위임장) 여러 문서 형식이있을 것이다있을 것이다 (즉, XML, JSON, HTML, PDF) 각각 다음과 같이 요구 사항은 문서 형식은 문서에 다른 데이터 집합이 있어야합니다 (예 : 클라이언트 세부 정보, 전체 권한) 다음과
나는 오후 내내 읽는 법의 대부분을 열기/닫기 원칙에 쓰는데, 나는 그것을 완전히 이해하지 못하고있다. 여기 제가 이미 읽은 참조 된 기사가 있습니다. 뭔가 놓친 것처럼 보입니다. Understanding the Open Closed Principle The end of dependency injection - who creates the dependenc
학습 '솔리드'원칙 클래스에 더 많은 확장을 추가해야하는 경우 생성자를 수정하는 것이 좋습니다. 비즈니스 로직. 나는 '열린 닫힘'원칙을 위반하는 생성자를 수정하는 것처럼 보였지만, 어떤 논리를 수행하기 위해 다른 클래스를 주입해야한다면 어떨까요? 어떻게하면 생성자 수정없이이 작업을 수행 할 수 있습니까? 일반적으로 생성자 수정이 '열린 닫힘'원칙을 위반합
공개 및 폐쇄 원칙을 위반하는 컨트롤러가 있습니다. 나는이 문제를 어떻게 해결할 것인지를 알아 내려고 노력하고있다. 다음은 구현입니다. struct BasicRecording
{
void show() {}
void hide() {}
};
struct AdvanceRecording
{
void show() {}
v
특정 시스템 이벤트를 기반으로 알림을 보내려는 학생 정보를 작성하고 있습니다. 예를 들어, 학생이 늦게 또는 부재 중으로 표시되면 신청서는 사용자 목록 (부모, 학교 관리자 등)에 알립니다. 이 알림은 사용 가능한 모든 방법 (SMS, 이메일)을 사용하여 메시지를 전송합니다. 각 메소드는, 제약에 근거 해 통지를 포맷합니다. 여기 알림이 생성됩니다 일부 이
의 내가 간단한 같은 클래스가 내 가상 소프트웨어의 첫 번째 버전에 있다고 가정 해 봅시다 : 두 번째 버전에서 public Class Version1
{
public void Method1()
{
Console.WriteLine("Hello");
}
}
을 나는 방법 1 필요로하는 업그레이드는 다음과 같이 수정
전략 패턴을 통해 읽었으며이를 구현하려고했지만 개방형 원칙을 위반한다고 생각하는 전략 구현을 결정하는 데 주저했습니다. 전략 패턴에서 우리는 인터페이스를 코딩하고 클라이언트 상호 작용을 기반으로 전략 구현을 전달합니다. 우리는 클라이언트가 위의 오픈 폐쇄 원칙에 따라 이제 IStrategy str;
if(stragety1) {
str =
다음 코드가 올바른지 확인해주십시오. 사실은 내가 유도 코드에서 비슷한 것을 발견했고, 그것이 Open/Closed 원리와 일치하는지 의심 스럽다. public abstract class CustomClass {
private ClassThatSetEnvironmentProperty sysProp = new ClassThatSetEnvironme