프로그래밍 QnA + 설치 및 활용 QnA + 질문

GMRyuj의 이미지

SRP와 ISP 정리한 것입니다. 설계 잘 아시는 분들 도와주세요.

★ 정리 (SRP vs ISP)

분명 SRP와 ISP는 처음 적용할때 모순이 존재하는 것처럼 보인다.
하지만 명백히 SRP와 ISP는 다르다.

SRP : 단일 책임의 원칙 => 즉, 클래스는 하나의 책임을 가진다.
ISP : 인터페이스 격리의 원칙 => 클래스의 사용하지 않는 기능은 인터페이스로 분리되어야한다. 또는 클라이언트는 자신이 사용하지 않는 메소드에 의존관계를 맺으면 안된다. 라는 깊은 뜻이 담겨있다.

여기서 자신이 사용하지 않는 메소드라는 문장에 깊은 관심을 가질 필요가 있다.

여기서 생기는 혼돈(?)은 SRP는 단일 책임을 지닌다고 하였는데.. ISP에 의해 나뉘어진 인터페이스를 구현하면 다수의 책임을 가지고 있는 것이 아닌가? 라는 의문이 생기기 마련이다. 대부분의 설계 원칙을 처음 접한 사람들은 분명 이러한 고민을 해봤을 것이다.
하지만 이것은 SRP와 ISP의 관계를 확실하게 파악하지 못했기 때문이다. 예로 설명하겠다.

ljh0431의 이미지

전세계 e-mail 주소 list를 database해 놓고 있는 회사나 group있으면 소개시켜주시면 감사하겠습니다.

안녕하세요 ?

Q/A가 아니고,

제가 프로그래머인데, 제가 원하는 목적이 있습니다.

가끔 제 메일주소로 e-mail any sending에 맞는 조건으로 이 메일이 오는데 필요없다고 생각해서

없어졌습니다.(전세계 모든 사람들에게 e-mail을 1000만명 2000만명 보내는 서비스를 하는 사람들이죠)

혹 시스템 전문가분들이나 보안전문가나 서버전문가나 이러한 각 개인의 e-mail정보 Database를 가지고 있는

상업적으로 group이나 회사를 알려 주시면 감사하겠습니다. 특히 이러한 부분이 가격이 싸면 hacker group같은 곳이되고

돈을 많이 주면 법인회사형태로 존재할 것입니다.

국내에 3곳, 국제 1곳에 이미 Q해 놨습니다.

혹 아시는 분 연락주세요.

ljh04312000@nate.com

cadava의 이미지

동일한 작업을 여러 파일에서 반복하고 싶어요. (꾸벅)

동일한 커맨드로 반복작업을 여러파일을 읽어서, 그 결과를 저장하는 작업을 하고 있습니다.
밑의 코드이구요. 실행되면. 마지막에. RUN COMPLETE: 출력되면서 하나의 작업이 끝납니다.

tophat ......tophat_output_11 11_NOR_1.fastq 11_NOR_2.fastq

이 코드에서 보면 결과 디렉토리는 tophat_output_11이구요.
두파일 11_NOR_1.fastq 과 11_NOR_2.fastq파일을 읽는 것입니다.

hah1231의 이미지

페도라 16과 엑스피 멀티 부팅을 하고자합니다 도와주세요

라이브 유에스비를 만든 다음 기존에 쓰고있던 엑스피에 파티션을 나누어 할당되지않은 공간을 140 기가 정도 남겨 두었습니다.
여기에 페도라 16을 깔려고 유에스비를 꽂아서 부팅하였는데 까만색화면에서 도무지 넘어갈 생각을 하지않습니다 모니터의 불만 깜박거립니다 에러메시지도 없고 다른 컴푸터에서 시도해보았는데 잘만됩니다 왜제 컴퓨터는 안되는걸까요,

GMRyuj의 이미지

[완료] SRP vs ISP 에 대해..

안녕하세요. 요세 한창 소프트웨어 설계를 공부하고 있는 현역군인입니다.

설계를 공부하던 도중 SRP 와 ISP 원칙이 서로 의미가 다른 것 같아 질문드립니다.

SRP는 단일 책임의 원칙으로써 클래스는 하나의 책임만을 가지는 것이고..

ISP는 인터페이스 격리의 원칙으로써 클래스는 자신과 관계없는 메소드나 기능을 인터페이스로 분리시키는 원칙이라고 배웠습니다.

여기서 약간의 모순점(?) 이라고 해야하나.. 뭔가 느낌이 모순된 느낌입니다.

SRP는 분명 단일 책임을 가져야하는 것이고.. ISP는 분명히 사용하지 않는 메소드나 기능을 분리하여 인터페이스로 분리하는 원칙인데..

ISP로 나뉘어진 인터페이스를 복수개로 상속받아 구현하게 된 클래스가 있다면.. 복수개의 책임을 가지게 되지 않습니까? (이건 분명 SRP 원칙에 어긋납니다.)

예를 들면 어떤 한 게임 객체가 있는데 이 객체는 Update 와 Draw 라는 메소드의 기능이 있습니다.

이 게임 객체는 IDrawable 인터페이스와 IUpdateable 인터페이스를 구현하게 됩니다.

sacredone의 이미지

스도쿠 솔루션 만들어보고있는데 이 문제를 못풀겠습니다

첨부한 문제 스샷을 못풀겠는데

혹시 스도쿠에 관심있으신 분은

풀어보시고 댓글좀 달아주실수있을까요?

인터넷에 찾아본 알고리즘들을 적용해봤는데

저기서 더이상 풀리지가 않는데..

저게 문제 자체는 아니구요

제가 몇개는 푼건데

푼것들은 확실하니까 저상태에서 풀어보시면 될것같습니다

lhs8421478의 이미지

[완료]C언어 이진 탐색 트리 순회에 관한 질문입니다.

안녕하세요 자료구조를 공부하며 코딩을 하고 있는 초짜입니다..

이진 탐색 트리를 구현하면서 파라미터값이 없고 재귀가 아닌 루프형식으로 해서 전위 순회를 구현하려 했습니다.

근데 if문에서 비교 대상에 대해 이것저것 생각해보다 도무지 머리가 안굴러가서 이렇게 질문 합니다 ㅠㅠ

조언 부탁 드립니다.

밑에는 프린트 문에 대한 소스 코드입니다.

plzma의 이미지

FTPClient Port Error 문제입니다.

FTPClient 클래스 사용하고 있습니다.

쓰레드를 사용해서 파일을 로컬에서 한서버 내의 다수의 폴더로 옴기려고 하면

sun.net.ftp.FtpProtocolException: PORT :

이런 에러가 납니다.

첫번째 쓰레드가 connection 하고 있는데 두번째 쓰레드가 다시 시도하여 나는것 같습니다.

이거 방법이 없을까요 ?

andysheep의 이미지

구글 크롬에서 흐린 한글 글자 출력 문제


배포판: 데비안 6.0
크롬 버젼은 18.0.1025.142

한글 누리집에서 흐리게 보이는 글자들을 출력하면 찍히지를 않는군요.

Xorg 글꼴 환경설정에서 안티알리아스를 꺼야되는지 궁금합니다.

siba555의 이미지

웹서버 개발중인데 http get recv는 어떻게 수신해야하나요?

안녕하세요.
클라이언트에서 http get으로 파라미터를 보내면 받아서 처리하는 초간단 서버를 만들고 있는데요..
문제는 recv가 한번에 데이터가 수신될수도 있고 덜될수도 있는데..가변이라 recvn함수를 쓸수도없는데 이런경우 어떻게 요청 메시지를 받아야는지요..ㅠㅠ

http로 보내는 내용은 다음과 같습니다.
http://111.111.111.112:1978/process/2439249599|1922058970

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기