2012-11-16 3 views
0

나는 자동화를 위해 python Page Object에서 작업 중이다. basePageObject (ChangePasswordPage)가 있고 페이지의 필드 옆에 다른 4 개의 하위 페이지가 있습니다. 이러한 모든 비밀번호 변경 페이지는 동일한 URL에서 실행되지만 필드에 따라 다르며 사용 사례에 따라 다릅니다. 예를 들어, 하나는 이전 암호 필드, 다른 하나는 다시 보안 질문 및 답변과 함께 제공하고 있습니다. 그래서 이러한 모든 변형에 대해 서로 다른 하위 클래스를 만들었습니다.디자인 패턴/OOP : 클래스로 작업을 분할하는 방법

이제 내 문제는 주어진 암호 집합을 사용하여 암호를 재귀 적으로 변경하려고하는 작업을 작성해야한다는 것입니다. 재귀 적 조작에는 하위 클래스의 "changePassword"조작이 필요하기 때문에 하위 변경 암호 페이지에서 해당 조작을 작성할 수 없습니다. 또한 각 하위 클래스에 대한이 재귀 연산은 다릅니다. 그것은 모든 어린이 수업에 대해 동일하지 않습니다. 따라서 어떤 패턴이이 경우에 가장 적합합니다. 이 새로운 재귀 연산은 어디에서 작성해야합니까? 어떻게 새 클래스를 만들 수 있으며 어떻게 OOP 원칙을 적용 할 수 있습니까?

+6

일부 코드를 입력하십시오. 여기서 근본적인 디자인 문제가 발생할 수 있다는 힌트가 있지만 코드가 없으면 아무 것도 말하기 어렵습니다. –

답변

1

일반적인 질문이지만 Strategy Pattern을 사용해보세요. "비밀번호 변경"사용 사례에 필요한 메소드를 작성하고 basePageObject에 요약을 유지합니다. ChangePasswordPageObject에서 구체적인 암호 변경 방법을 구현합니다.
모든 경우에서 기본적으로 동일한 메소드 호출이 있지만 유스 케이스/비밀번호 페이지에 따라 다른 작업을 수행합니다.

관련 문제