zoukankan      html  css  js  c++  java
  • 我设想的接口

    现在c#的接口只是一个签名,也就是签名一样就可以用不同的实现。

    但是我认为这个接口模式还不是理想的模式,我认为接口应该是一个规则,而不只是一个签名。也就是要满足特定规则的实现,才是符合该接口的。

    规则包括对数据的定义,输入输出的关系等。从实现角度,就是接口签名外,增加代码测试功能。也就是,任何一个实现,都应该符合接口的签名(语法),同时通过它的测试(语意)。

    为何我有这个想法,因为大多数情况下,单单签名相同就认为是一个实现,这种约束太低了,反而实用价值不大。

    比如一个功能组件,建立的目的不是为了满足某一个功能吗?但是你其中一个实现却只是实现了一个接口签名,虽然能够套上去,但是组合起来完全不是你想要的功能,甚至让你的数据流变得乱七八糟,毫无意义。

    比如是一个增幅器组件,把进入的int流增大,出来也是int流,光服从签名你可以进去的是大的数,出来是小的数,但是不符合你的语意,你的目的是增大,而不是减小。因此只有增加测试后的、添加语意限制后的接口的实现,才是满足你工作需求的。对进出的数进行扩大性判断,不符合语意就报错。

    我认为这种接口,比单纯的签名式接口,更加有实用价值。

  • 相关阅读:
    Java中equals和==的区别
    Mybatis中#{}和${}
    AJAX发送带Header的请求
    golang定时任务
    mysql中一条insert语句批量插入多条记录
    golang 从mysql取datetime类型数据
    MySQL 慢查询日志
    mysql日志文件开启及详解:General_log 和 Binlog
    如何在普清的屏上调试CSS样式二倍图背景
    transition、animation在macbook air上图片动画边缘抖动
  • 原文地址:https://www.cnblogs.com/Nobel/p/2787760.html
Copyright © 2011-2022 走看看