zoukankan      html  css  js  c++  java
  • [Objectoriented] : 重用

    前言 :

    说到「面向对象程序设计」跟「结构化导向程序设计」两者之间的不同。常常会提到一点 :「面向对象程序设计程序代码比较容易重用」。
    面向对象程序设计的前辈工程师,总结了很多经验写下了Design Patterns以及其他很多的数据文献。
    让后续的工程师在重用程序代码的时候,有一些模式可以使用,而不用再去自己创造。
    这大大增加了面向对象重用的机会,这类文章网络上已经有很多,这边就不赘述。
    本篇从广义的抽象概念,来阐述面向对象的重用概念。

    说明 :

    「结构化导向程序设计」在重用的这个领域上,主要是使用「Library」来当作重用的方式。
    「面向对象程序设计」在重用的这个领域上,除了沿用结构化导向程序设计的「Library」观念之外,还延伸了独属于面向对象的重用方式「Framework」。

    「Library」: 将特定的功能封装成一组程序代码。后续重用的时候,呼叫程序代码提供的接口就可以使用特定功能。
    「Framework」: 将特定功能封装成一组程序代码,并且定义部分程序代码可抽换。后续重用的时候,实做可抽换的程序代码就可以使用特定功能。
    Library是一种重用底层的概念,而Framework则是一种重用核心的概念。
    下面的章节采用一个简单的范例来说明这两种概念。

    范例 :

    下图是一个简单的使用面向对象设计出来的机器人开车程序。
    「车」有很多种,有可能是真的汽车,也有可能是遥控车。
    「机器人」会依照程序将「车」开到想去的地方。

    image

    「Library」式的重用
    将范例里的各种车辆,整合起来变成一堆车子的组件。下次有别的地方要使用,只要呼叫这个组件内的车子,就可以使用车子的功能。
    一般我们使用的 .NET Framework Class Library里面的对象,大多是属于「Library」式的重用。

    「Framework」式的重用
    将范例里的机器人程序整合,变成一个机器人的组件。下次有别的地方要使用,只要实做机器人可以操作的不同车辆,就可以使用机器人功能。
    一般我们使用的 ASP.NET Framework,就是属于「Framework」式的重用。
    *ASP.NET封装了的HTTP通讯等等的工作,并且开放定义好的接口(例如 : Page对象)让工程师改写。

    后记 :

    本篇文章讲述的概念没有很特别,平常在撰写面向对象程序设计的时候,就会不自觉的用到。
    但这些是功夫的基础,有意识的修炼跟无意识的使用还是有差别的,希望能对大家有帮助。

  • 相关阅读:
    多测师讲解app测试 _app原理图解_高级讲师肖sir
    多测师讲解 app_模拟器的端口号_高级讲师肖sir
    多测师讲解appium _开启注意点_高级讲师肖sir
    多测师讲解app _xpath插件_高级讲师肖sir
    多测师讲app测试 _appium实战(1)_高级讲师肖sir
    多测师讲解app测试 _ADB常用的指令_高级讲师肖sir
    jmeter分布式测试
    常用命令
    Linux安装pycharm
    请求头信息介绍
  • 原文地址:https://www.cnblogs.com/clark159/p/2205055.html
Copyright © 2011-2022 走看看