나는 다음과 같은 속성을 가진 ATM 카드를위한 클래스를 설계 할 수 있습니다 카드 소지자 이름 카드 번호 핀 게터 이외의 및 세터, ATM의 핀을 확인하는 방법이 있습니다. 캡슐화 원칙에 따라 ATM과 관련된 모든 메소드는 ATM 클래스의 일부 여야합니다. 그러나 나중에 우리는 validate 메소드의 비즈니스 로직을 변경해야합니다. Open-Closed
으로는 here을 말했다 행동 하위 유형의 Liskov의 개념은 개체에 대한 대체 가능성의 개념을 정의한다 즉, S가 T의 서브 타입이면, 프로그램 내의 유형 T의 오브젝트는 그 프로그램의 바람직한 특성 (예 : 정확성)을 변경하지 않고 S 유형의 오브젝트로 대체 될 수있다. 가정하자 , 우리는 다음 클래스 계층이 있습니다 기본, 추상 클래스를 - Anim
학습 '솔리드'원칙 클래스에 더 많은 확장을 추가해야하는 경우 생성자를 수정하는 것이 좋습니다. 비즈니스 로직. 나는 '열린 닫힘'원칙을 위반하는 생성자를 수정하는 것처럼 보였지만, 어떤 논리를 수행하기 위해 다른 클래스를 주입해야한다면 어떨까요? 어떻게하면 생성자 수정없이이 작업을 수행 할 수 있습니까? 일반적으로 생성자 수정이 '열린 닫힘'원칙을 위반합
시나리오 내가 다른 구성 요소 (보고서 작성기)에 보낼 동적 쿼리 빌더를 만드는거야. 일부 쿼리 부분에는 자리 표시자가 있습니다. 예를 들어 : SELECT DISTINCT ID, NAME AS VALUE FROM EVENTS
WHERE {{ESTABLISHMENTFILTER.ID}} IS NULL OR ESTABLISHMENT_ID = {{ESTABLI
기본 버튼 클릭 이벤트에 코드를 첨부 할 때 좋은 코딩 표준을 따르려고합니다. 두 가지 옵션은 다음과 같습니다. Click 이벤트 처리기 또는에 여러 줄의 코드를 포함 시키면 결국 이러한 코드 줄과 동일한 작업을 수행 할 수 있습니다. 소프트웨어 설계 원칙은 무엇입니까? 또는 왜 어떤 방식 으로든 사용하려는 이유에 대한 구체적인 추론은 무엇입니까? [또한,
OOP 및 학습 패턴을 처음 접했기 때문에 Factory Method를 시험해 볼 간단한 코드를 작성 했으므로 다른 하위 유형을 추가하려는 경우를 제외하고는 모두 잘된 것처럼 보입니다. 다음 코드는 지금까지의 : 요구 사항이 나이> 70 일 때를위한 하위 클래스 Pensioner을 포함 나중에 변경 public interface Person {
p
안녕하세요 제 질문은 해당 생성자에서 같은 수의 인수를 가진 클래스에 대해 팩터 리 패턴을 사용할 수 있는지에 관한 것입니다. 예를 들어, IVerify이라는 인터페이스가 있습니다. 내가 그들을 구현이 개 클래스를 가지고 생성자의 INT의 납입 취하는 생성자에 문자열 이름에 소요 NameVerifier, 및 IntegerVerifier. 이 경우 공장 패턴
나는 ApproveCheck 메서드가 다음 Billing 클래스에 있습니다. 이 방법은 주문 번호가있는 고객으로부터 수령 한 수표를 승인하고이를 주문 승인과 비교하여 승인합니다. 모든 클래스에는 테스트 할 비즈니스 로직이 없으므로 인터페이스가 없으며 데이터베이스와 직접 상호 작용합니다. 솔리드 원칙을 따르고 있습니까? 이 클래스는 테스트를 위해 들여 쓰기가
입니다.이 방법은 어리석은/바보 같은 질문 일 수 있지만 어쨌든이 방법은 문제가되지 않습니다. 기본적으로 클래스의 결과를 표시하는 가장 적절한 방법을 찾고 있습니다. 메인 창으로 지금 내가 이렇게 버튼을, 내가 필요하고 내가 그 잘못된 길 것을 알고, 내 현재의 지식으로이 문제를 해결 얼마나 을을 보여줍니다 것은 내가 이렇게 클릭 private void b
그래서 나는 상황에 따라 실행할 클래스가 들어있는 데이터베이스를 가지고 싶습니다. 다음과 같이 보일 것입니다 : id | Description | pricingClass
1 | "static pricing" | staticDeliveryPrice.class
2 | "Dynamic pricing" | dynamicDeliveryPrice.class