zoukankan      html  css  js  c++  java
  • 面向接口编程原理

    面向接口编程原理

    “基于接口而非实现编程”这条原则的英文描述是:“Program to an interface, not an implementation”。我们理解这条原则的时候,千万不要一开始就与具体的编程语言挂钩,局限在编程语言的“接口”语法中(比如 Java 中的 interface 接口语法)。这条原则最早出现于 1994 年 GoF 的《设计模式》这本书,它先于很多编程语言而诞生(比如 Java 语言),是一条比较抽象、泛化的设计思想。

    这条原则能非常有效地提高代码质量,之所以这么说,那是因为,应用这条原则,可以::

    • 将接口和实现相分离
    • 封装不稳定的实现
    • 暴露稳定的接口

    上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本上不需要做改动,以此来降低耦合性,提高扩展性

    实际上,“基于接口而非实现编程”这条原则的另一个表述方式,是“基于抽象而非实现编程”。后者的表述方式其实更能体现这条原则的设计初衷。在软件开发中,最大的挑战之一就是需求的不断变化,这也是考验代码设计好坏的一个标准。越抽象、越顶层、越脱离具体某一实现的设计,越能提高代码的灵活性,越能应对未来的需求变化。好的代码设计,不仅能应对当下的需求,而且在将来需求发生变化的时候,仍然能够在不破坏原有代码设计的情况下灵活应对。而抽象就是提高代码扩展性、灵活性、可维护性最有效的手段之一

    https://www.cnblogs.com/appsucc/p/13034479.html#:~:text=面向接口编程原理.%20“基于接口而非实现编程”这条原则的英文描述是:“Program%20to%20an%20interface%2C%20not%20an%20implementation”%E3%80%82.,的《设计模式》这本书,它先于很多编程语言而诞生(比如%20Java%20语言),是一条比较抽象、泛化的设计思想%E3%80%82.%20这条原则能非常有效地提高代码质量,之所以这么说,那是因为,应用这条原则,可以%3A%3A%20将接口和实现相分离.%20封装不稳定的实现.%20暴露稳定的接口.%20

    ------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
  • 相关阅读:
    split a string into an array through comma
    正则表达式替换日期
    在Ajax1.0中调用页面CS文件中的方法
    半透明的div对话框
    foreach 的自动转化类型
    ViewStateAutoManager
    using ISerializable to control serialization and deserialization
    div with separated html template
    2018.9.9作业
    CSS单位
  • 原文地址:https://www.cnblogs.com/feng9exe/p/15186614.html
Copyright © 2011-2022 走看看