> 웹 프론트엔드 > JS 튜토리얼 > [디자인 패턴] 자바스크립트 모양 패턴의 응용과 실습

[디자인 패턴] 자바스크립트 모양 패턴의 응용과 실습

大鹏
풀어 주다: 2020-08-11 17:11:50
원래의
261명이 탐색했습니다.

정하기定义一组高层接口让子系统更易用。

适用场景外观模式的优点不常显而易见,对客户屏蔽了内part系统实现,客户的接入成本大降䎎,耦实玟变得简单。并且,子系统的变更,对客户的影响也降低,虽然用户也需要修改代码,但是大时候只需要修改外观即可。同时,外观模式虽然提供了一个统一的入口,但并不妨碍用户直接使用子系统,使用更加复杂的功能。当然,凡事有利必有弊,외观设计模式存가 什么问题呢?可能会给人一种感觉,业务方一是这么用 的,不会产生 bug,从而让人麻痹,所以,使用外观模式,同时也要对子系统做好保护。其次,外观模式实际上违背了设计模式中的开闭原则,如果我们要修改业务逻辑,常常业务方也需要进行代码修改。那么,什么样的情况下适使使用外观模式呢?如果我们的调用方用到的场景德是一样的,但我们的子系统又不常复杂,我们可以考虑封一个外观,让业务方更容易接入。

解决易用性问题.户程序와 服务程序的时候,使用 external观模式提高子系统的独立섹스와 함께 지내는 것이 좋습니다.是一个外观模式的案例,提供借鉴 and参考。

ㅋㅋㅋ 영화, TV, 책 内部子系统是怎么样的,city可以用같은 방식의 방법이 없습니다.

xclass FetchMusic {  get resources() {    return [      { id: 1, title: "The Fragile" },      { id: 2, title: "Alladin Sane" },      { id: 3, title: "OK Computer" },    ];  }  fetch(id) {    return this.resources.find((item) => item.id === id);  }}class GetMovie {  constructor(id) {    return this.resources.find((item) => item.id === id);  }  get resources() {    return [      { id: 1, title: "Apocalypse Now" },      { id: 2, title: "Die Hard" },      { id: 3, title: "Big Lebowski" },    ];  }}const getTvShow = function (id) {  const resources = [    { id: 1, title: "Twin Peaks" },    { id: 2, title: "Luther" },    { id: 3, title: "The Simpsons" },  ];  return resources.find((item) => item.id === id);};const booksResource = [  { id: 1, title: "Ulysses" },  { id: 2, title: "Ham on Rye" },  { id: 3, title: "Quicksilver" },];
로그인 후 복사

总结

外观模式随处可见,也不难理解,现在多数公主使用微服务的开发模式,外观模式正好契合这样的开发模式。完成接口设计,就模当于完成了一半的开发任务。只要接口设计得好,那代码就差不到哪里去。接完成了一半的开发任务。可复用,大小会导致接口不易사용합니다.的门面接口,来提供更易사용하기 좋아요。

위 내용은 [디자인 패턴] 자바스크립트 모양 패턴의 응용과 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
1
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿