2017-05-12 1 views
0

내 파이썬 코드에 관해 묻는 두 가지 질문이 있습니다. 초보자 용 질문 인 경우 변명하십시오. 프로그래밍의 특정 영역에 대해서는 아직 비교적 새로운 개념입니다.Python 가져 오기 및 코드 구조

좋아, 그래서 특정 웹 응용 프로그램에 대한 내 자신의 라이브러리를 작성하고 OOP의 과용에 대한 화려한 프레 젠 테이션을 보면서 (불행히도 이름이 나를 이스케이프) 나는 내 모든 코드를 리팩터링, 내가 사용하지 않는 클래스와 내 코드는 눈이 훨씬 쉬우 며 유지하기 쉽습니다. 내 주요 질문은 코드 구조에, 나는 현재 클래스를 포함하는 클라이언트라는 파일을 가지고 있지만, 시간이 거대한 될 수도 실현 후, 나는 불필요하게 작을 수도 BaseRequests라는 별도의 클래스를 썼습니다. 내 첫 번째 질문은 더 작고 작은 수업을 많이하는 것이 더 나은지 여부입니다. BaseRequests뿐만 아니라 Client 또는 상당히 큰 클래스를 생성합니다. 고객.

내 두 번째 질문은 더 비 특이하지만 여전히 같은 구조 영역을 기반으로, 그래서 나는 다음과 같이 내 라이브러리를 사용할 수 있도록하려면 :

import Module 
client = Module.Client() 

을하지만 난 그 일을 어떻게했을 경우 여러 다른 클래스 (BaseRequests 같은), 나는 일반 사용자가 특별히 객체로 선언해야하는 것을 원하지 않는다. 상속이 옵션일지도 모른다고 생각한 것일까 요? 그렇다면 클래스가 다른 여러 클래스를 상속 할 수 있습니까?

+0

클라이언트가 BaseRequests를 사용합니까? –

+0

그래, BaseRequests의 메소드 중 일부가 될 것입니다. –

답변

0

Client 클래스에서 BaseRequests를 인스턴스화하여 사용할 수 있습니다. WRT 귀하의 첫 번째 질문은 프로그래밍 패러다임 "우려의 분리"를 찾습니다. 기본적으로 클래스, 인터페이스, 팩토리 또는 다른 구조는 한 가지 일에만 관심을 가져야합니다. 따라서 Client 클래스는 클라이언트 역할을 수행하고 로그 메시지를 파일로 인쇄하는 등의 다른 작업은 수행하지 않아야합니다. 당신은 그것에 대한 별도의 로거 클래스를 만들 것입니다 (파이썬을 사용하여 빌드하십시오)

+0

답변 해 주셔서 감사합니다. 매우 도움이되었습니다. 내 질문에 대답하기 때문에 받아 들였습니다. –

+0

np : D 도와 줘서 기쁩니다. –