여러 기능 모듈의 코드 일부는 공통입니다. 함수 중 하나를 수정하려면 공통 코드를 수정해야 합니다. 어떤 함수가 이 코드를 참조하는지 확실하지 않을 때 다른 기능이 손상되지 않도록 하려면 어떻게 해야 합니까?< /p>
走同样的路,发现不同的人生
추상화그런 다음 여러 메소드를 작성하여 추상 메소드를 구현하고, 다양한 기능 포인트가 다양한 비즈니스 로직을 구현합니다.
가장 쉬운 방법입니다. 복사해서 따로 인용해보세요.
예를 들어 공개 모듈의 A 메서드를 수정하고 A를 사용하는 다른 모듈이 있는 경우 A를 수정하는 대신 다른 A1 메서드를 작성할 수 있습니다.
하위 클래스 코드의 공개 부분을 덮어쓸 수 있으며 그 중 하나의 기능을 마음대로 수정할 수 있습니다
카테고리 만들기 카테고리에서 이 메서드를 재정의합니다. 이 파일에서 카테고리를 가져옵니다.
이 공용 메서드를 상속하는 하위 클래스를 작성하고 수정해야 하는 부분을 하위 클래스로 캡슐화한 다음 이 하위 클래스를 대상 모듈에 사용하세요.
새 방법을 만듭니다. 다른 사람을 포장하는 방법.
수정으로 인해 원본 코드의 동작이 변경되는 경우 새 코드를 만드는 것이 가장 좋습니다새 코드가 원본 코드와 겹치는 부분이 많으면 재사용 가능한 부분을 추출하는 것을 고려할 수 있습니다
두 가지 방법:
플래그 유형 매개변수를 메서드에 추가하고 메서드의 다양한 플래그에 따라 다양한 처리를 수행합니다
메소드를 하나 더 다시 작성
해당 메소드를 분류하여 수정해 보겠습니다
추상화
그런 다음 여러 메소드를 작성하여 추상 메소드를 구현하고, 다양한 기능 포인트가 다양한 비즈니스 로직을 구현합니다.
가장 쉬운 방법입니다. 복사해서 따로 인용해보세요.
예를 들어 공개 모듈의 A 메서드를 수정하고 A를 사용하는 다른 모듈이 있는 경우 A를 수정하는 대신 다른 A1 메서드를 작성할 수 있습니다.
하위 클래스 코드의 공개 부분을 덮어쓸 수 있으며 그 중 하나의 기능을 마음대로 수정할 수 있습니다
카테고리 만들기 카테고리에서 이 메서드를 재정의합니다. 이 파일에서 카테고리를 가져옵니다.
이 공용 메서드를 상속하는 하위 클래스를 작성하고 수정해야 하는 부분을 하위 클래스로 캡슐화한 다음 이 하위 클래스를 대상 모듈에 사용하세요.
새 방법을 만듭니다. 다른 사람을 포장하는 방법.
으아아아수정으로 인해 원본 코드의 동작이 변경되는 경우 새 코드를 만드는 것이 가장 좋습니다
새 코드가 원본 코드와 겹치는 부분이 많으면 재사용 가능한 부분을 추출하는 것을 고려할 수 있습니다
두 가지 방법:
플래그 유형 매개변수를 메서드에 추가하고 메서드의 다양한 플래그에 따라 다양한 처리를 수행합니다
메소드를 하나 더 다시 작성
해당 메소드를 분류하여 수정해 보겠습니다