인터페이스 분리 원칙(SOLID)

동기 부여



안녕하세요 여러분. 제 이름은 Roman Pedchenko이고 풀스택 개발자입니다. 당신의 지인을 기쁘게 생각합니다. 첫 글이니 너무 가혹하게 판단하지 마시길 부탁드립니다. 친구와 대화를 나눈 후에 기사를 쓰겠다는 아이디어가 떠올랐고 그에게 감사 인사를 전하고 싶습니다.

이야기



많은 개발자들이 매일 기술 인터뷰를 합니다. 누군가는 새로운 직업을 원하고 누군가는 첫 번째 직업을 원합니다. 하지만 문제는 제한된 시간 안에 자신의 지식을 보여줘야 하기 때문에 모든 답변이 정말 중요하다는 것입니다. 내 겸손한 의견으로는 세 가지 유형의 답변이 있습니다. 첫 번째는 학문적 지식입니다. 그것은 당신이 무언가에 대해 읽었지만 그것을 사용하지 않는다는 것을 의미합니다. 두 번째는 현실 세계의 예를 설명하거나 제시할 수 있지만 원칙이나 패러다임 또는 패턴이 무엇인지에 대한 질문에 대답할 수 없다는 것입니다. 그리고 마지막으로 첫 번째와 두 번째를 결합하는 것입니다. 당신은 그것을 사용하는 방법뿐만 아니라 무엇을 사용하는지 알고 있습니다. 당신이 아마 짐작할 수 있듯이 세 번째
하나는 정말 좋은 개발자로서의 인터뷰에서 당신의 위치를 ​​확대합니다.

나는 당신이 SOLID 교장을 반복하는 인터뷰를 준비하기 위한 후보 또는 중재자임을 측정하지 않는 모든 사람에게 확신합니다. 그 외에도 모든 사람이 매일 사용하려고 하지만 누군가 물으면 설명하고 몇 가지 예를 들어 줄 수 있다고 믿습니다. 항상 너무 어렵습니다. 이 기사에서는 약어 중 한 글자 만 다룰 것이지만 더 설득력이 있기를 바랍니다.

편지 나



위키를 열면 쉽게 알 수 있습니다.

The interface segregation principle (ISP) states no code should be forced to depend on methods it does not use.ISP splits interfaces that are very large into smaller and more specific ones so that clients will only have to know about the methods that are of interest to them.



정말 이해하기 쉽게 들리길 바라지만 위에 쓴 것처럼 이론적인 지식뿐만 아니라 우리가 그것을 사용하는 예와 여기서 많은 사람들이 막히게 됩니다. 그리고 여기에 힌트가 있습니다. 정의 자체를 배우는 것보다 쉽습니다. Angular 개발자라면 운이 좋은 사람입니다. 구성 요소를 만들고 사용하는 구성 요소에 후크를 추가할 때마다 매일.

export class AppComponent implements OnInit, OnDestroy {
  ngOnInit() {
  // some logic
  }

  ngOnDestroy() {
  // some logic
  }
}


보시다시피 후크가 작동하기 시작하려면 두 개의 인터페이스를 구현해야 합니다. 그게 전부입니다. 그리고 이상하게도 저는 이 대답이 적어도 당신이 SOLID의 I라는 글자를 알고 있다는 것을 보여줄 것이라고 믿습니다.

감사합니다. 면접에서 다리를 부러 뜨립니다.

좋은 웹페이지 즐겨찾기