습관/독서

자바스크립트 코딩 기법과 핵심 패턴 - Day 12

향포레스트 2023. 2. 20. 23:42
728x90

출처 : YES24

독서진행 : 182-189p (종이책)

 

오늘의 메모


- 전략 패턴은 런타임에 알고리즘을 선택할 수 있게 해준다. 사용자는 동일한 인터페이스를 유지하면서, 특정한 작업을 처리할 알고리즘을 여러 가지 중에서 상황에 맞게 선택할 수 있다. 전략 패턴을 사용하는 예제로 폼(입력 양식) 유효성 검사를 들 수 있다. 유효성 검사가 작업을 처리할 최선의 '전략'을 선택하고, 그에 해당하는 적절한 알고리즘에 실질적인 데이터 검증 작업을 위임한다.
- 퍼사드 패턴은 매우 간단하다. 이 패턴은 객체의 대체 인터페이스를 제공한다. 메서드를 짧게 유지하고 하나의 메서드가 너무 많은 작업을 처리하지 않게 하는 방법은 설계상 아주 좋은 습관이다.
하지만 이렇게 하다보면 메서드 숫자가 엄청나게 많아지거나 uber 메서드에 엄청나게 많은 매개변수를 전달하게 될 수 있다. 두 개 이상의 메서드가 함께 호출되는 경우가 많다면, 이런 메서드 호출들을 하나로 묶어주는 새로운 메서드를 만드는 게 좋다.
- stopPropagation() , preventDefault() 두 메서드는 서로 다른 목적을 가지고 있기 떄문에 별도로 유지되어야 하지만, 한꺼번에 호출되는 일이 많은 것도 사실이다. 따라서 두 개의 메서드 호출을 애플리케이션 여기저기에서 반복하기보다는, 이 둘을 호출하는 퍼사드 메서드를 생성하는 게 좋다.
- 퍼사드 패턴은 브라우저 스크립팅에도 적합하다. 브라우저 간의 차이점을 퍼사드 뒤편에 숨길 수 있기 때문이다.
- 또한 퍼사드 패턴은 설계 변경과 리팩터링의 수고를 덜어준다. 복잡한 객체의 구현 내용을 교체하는 데는 상당한 시간이 걸리는데, 이와 동시에 이 객체를 사용하는 새로운 코드가 계속해서 작성되고 있을 것이다. 이런 경우, 우선 새로운 객체의 API를 생각해보고, 기존 객체 앞에 이 API의 역할을 하는 퍼사드를 생성해 적용해 볼 수 있다. 이렇게 기존 객체를 완전히 교체하기 전에 최신 코드가 새로운 API를 사용하게 하면, 최종 교체시 변경폭을 줄일 수 있다.

전략 패턴은 예제를 따라했는데, 

유효성 관련된 거라서 진짜 유용하게 써보고 싶었는데

실행이 안된다..... 계속 뜯어봐도 안되서 일단 보류 해놨다

무조건 고칠 0순위... 입력 폼 제어 편하게 하자고 몇 년을 다짐해왔는지..

 

그리고 퍼사드는, 특정 페이지에서 따라다니는 애들을 묶어서 사용하면 좋을 거 같다

다른 기능을 하지만, 짝을 이뤄서 잘 다닌다면 또 다른 네임을 지어서 

같이 움직여주면 더 이해하기 쉬울 거 같다

 

네임 짓기 중요함을 하루하루 깨닫는 중

728x90