저는 SRP (Single Responsibility Principle)를 위반하지 않도록 다시 고려해야 할 코드가 있습니다.단일 책임 원칙 리팩터링
나는 아래의 클래스가 여러 이유로 변경 될 수 있음을 이해 :
- 비즈니스 규칙 그러나
을 변경할 수 있습니다, 나는 내가 어떻게 다른 수업에 다시 배울 수 있는지 알아내는 데 어려움을 겪고있다.
는 Engine.java
package com.example;
import java.util.List;
public interface Engine {
public List<Recording> analyze(List<String> files);
public List<Recording> getMetadata(List<Recording> recordings);
public List<Recording> upload(List<Recording> recordings);
}
CallEngine.java
package com.example;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CallEngine implements Engine {
final static Logger log = LoggerFactory.getLogger(Main.class);
public List<Recording> analyze(List<String> files) {
log.info("Analyzing recording files per business rules...");
List<Recording> recordings = new ArrayList<Recording>();
return recordings;
}
public List<Recording> getMetadata(List<Recording> r) {
log.info("Retrieving metadata for calls...");
List<Recording> recordings = new ArrayList<Recording>();
return recordings;
}
public List<Recording> upload(List<Recording> r) {
log.info("Uploading calls...");
List<Recording> recordings = new ArrayList<Recording>();
return recordings;
}
}