구현하고 싶은 기능은 데이터베이스에서 일부 데이터를 검색하고 일부 매개 변수를 기반으로 데이터에서 텍스트 파일을 만드는 것입니다. 이 작업을 수행하는 FileProcessor 클래스를 만들었습니다.이 클래스는 Single Responsibility를 위반하고 있습니까
public class FileGenerator
{
public FileGenerator(IDataProvider dataProvider)
{
// some constructor logic
}
public void Generate(string fileType)
{
var data = dataProvider.getData()
Logger.LogMessage("Retrieved data");
var file = FileFactory.GetFileInstance(fileType).CreateFile()
Logger.LogMessage("File Created");
}
}
위의 코드 조각에서 생성자는 클라이언트에서 dataProvider를 가져옵니다. FileFactory는 파일 형식의 인스턴스를 만들고 인스턴스 내에서 Create 메서드는 실제로 파일을 생성합니다. 로거 구성 요소는 모든 로깅 메커니즘을 처리하며 디스크 또는 데이터베이스 등에 쓸지 여부를 구성 할 수 있습니다.
이 클래스는 FileGenerator가 SRP를 위반합니까?
왜 그것이 위반하고 있다고 생각합니까? 요점을 확인하십시오. 그렇지 않으면 질문이 너무 광범위하게 보입니다. –
@PetrAbdulin - 파일 생성, 데이터 가져 오기 및 메시지 기록. 그것들은 추가적인 책임으로 간주 될 수 있습니까? 이 클래스는 너무 많은 다른 클래스에 종속되어 있습니까? – Ben10