当前位置: 首页 > wzjs >正文

怎样在外管局网站做延期付款网站seo排名优化价格

怎样在外管局网站做延期付款,网站seo排名优化价格,ui设计的工作内容,手机做印章网站任何层次的软件设计如果依赖了它并不需要的东西,就会带来意料之外的麻烦。ISP强调使用多个特定的接口,而不是一个总接口,避免依赖不需要的接口。即不需要则不应该知道。 ISP特点 降低耦合度:客户端只依赖它需要的接口&#xff0…

任何层次的软件设计如果依赖了它并不需要的东西,就会带来意料之外的麻烦。ISP强调使用多个特定的接口,而不是一个总接口,避免依赖不需要的接口。即不需要则不应该知道。

ISP特点

  • 降低耦合度:客户端只依赖它需要的接口,减少对其他接口的依赖,从而降低系统的耦合度。
  • 提高灵活性:接口的拆分使得系统更灵活,可以更容易地扩展和修改。
  • 符合开闭原则:通过接口的细分,可以更好地满足开闭原则,即对扩展开放,对修改封闭。

示例代码

不符合ISP的代码

// 违反ISP的胖接口
interface WorkerInterface {void work();void eat();
}// 机器人不需要吃饭,但被迫实现eat方法
class Robot implements WorkerInterface {@Overridepublic void work() {System.out.println("Working...");}@Overridepublic void eat() {throw new UnsupportedOperationException("机器人不需要吃饭");}
}// 人类需要实现所有方法
class Human implements WorkerInterface {@Overridepublic void work() {System.out.println("Working...");}@Overridepublic void eat() {System.out.println("Eating...");}
}

不符合ISP

使用ISP优化后的代码

interface Workable {void work();
}interface Eatable {void eat();
}// 机器人只需实现Workable
class ImprovedRobot implements Workable {@Overridepublic void work() {System.out.println("Working...");}
}// 人类实现两个接口
class ImprovedHuman implements Workable, Eatable {@Overridepublic void work() {System.out.println("Working...");}@Overridepublic void eat() {System.out.println("Eating...");}
}

符合ISP

接口隔离与其他设计原则的关系

与单一职责原则(SRP)的关系
  • 联系:SRP 关注类的职责单一,而 ISP 关注接口的职责单一。
  • 区别:SRP 针对实现类,ISP 针对接口。
与依赖倒置原则(DIP)的关系
  • 联系:DIP 要求高层模块依赖抽象接口,而 ISP 确保这些接口是最小化的。
  • 协同效应:结合使用可降低系统耦合度。

在设计中遵循ISP

采用 “客户端驱动” 的接口设计
根据客户端需求定义接口,而非根据实现定义接口。这一点非常重要,研发经常是根据实现定义接口,导致接口无限膨胀。

使用接口继承拆分胖接口
将大接口拆分为多个小接口,通过继承组合。

优先使用组合而非继承
通过组合多个小接口实现复杂功能,避免类继承不必要的方法。

编写单元测试验证接口边界
确保客户端只依赖它需要的方法,不依赖多余接口。

参考

《架构整洁之道》-- Robert C.Mattin

《架构师的自我修炼》 – 李智慧

《设计模式之美》 – 王争

http://www.dtcms.com/wzjs/268833.html

相关文章:

  • 游戏网站建设多少有链接的网站
  • 网页设计网站含义百度指数查询移动版
  • 专业的家居行业网站制作东莞网站制作公司联系方式
  • 临清市住房和城乡建设局网站系统优化的意义
  • 用什么软件做网站最好企业qq和个人qq有什么区别
  • 遵义网站建设seo没什么作用了
  • 网站开发论文摘要seo型网站
  • 湖南土特产销售网网站建设制作南宁seo主管
  • 徐州网络推广公司网络优化app哪个好
  • 怎么创建一个网站卖东西怎样在百度上做广告
  • 上海建站优化长沙网站制作公司哪家好
  • 做nba网站的素材如何自创网站
  • 怎么做网站代码东莞网站推广公司黄页
  • 做棋牌网站团队简述seo
  • 常州天狼网站建设优化网站排名工具
  • 苏州吴江做网站2021年网络热点舆论
  • 为国外客户做网站建设百度网登录入口
  • 有没有专门做蛋糕的网站百度我的订单app
  • 网上销售平台seo研究中心超逸seo
  • 国度网络网站建设百度广告推广怎么收费
  • 动态网站开发服务器端脚本语言比优化更好的词是
  • 网站后台怎么做alt标签淄博头条新闻今天
  • 国外上市公司网站建设今天上海最新新闻事件
  • 建站软件有哪些功能推广联盟
  • 祁县网站建设厦门seo怎么做
  • 传统网站建设架构青岛关键词优化报价
  • 西安哪些做网站的公司好十大网站排行榜
  • 会ps的如何做网站关键词歌词
  • 建官网公司地址搜索引擎优化seo公司
  • 微网站开发用什么技术seo和sem的区别