展开

关键词

原则

覆盖或实现父类的方法时输入参可以被放。 覆写或实现父类的方法时输出结果可以被缩小。 注:在类中调用其他类时务必要使用父类或,如果不能使用父类或,则说明类的已经违背了LSP原则。 三. 没有统一的标准,应根业务合理细分,适合业务才是重点。 保证的纯结性: 要尽量小。 要高内聚。 定制服务。 是有限度的。 最佳实践: 一个只服务于一个子模块或业务逻辑。 通过业务逻辑压缩中的public方法,时常去回顾,尽量让达到“满身筋骨肉”,而不是“肥嘟嘟”的一堆方法。 已经被污染了的,尽量去修改,若变更的风险较,则采用适配器模式进行转化处理。 了解环境,拒绝盲从。每个项目或产品都有特定的环境因素,不要盲从师的,要根业务逻辑进行最好的

2.2K30

PHY_MDIO

PHY 内部寄存器的读写通过 MDIO 进行。 8.5.2.1 MDIO MDIO 传输时钟 MDC 和双向信号 MDIO 组成,如下图所示 ? 图8‑37 0x19的寄存器 8.5.2.1 模块 (一)模块结构 MDIO模块结构如下图所示,由模块mdio_top及其子模块mdio_control组成。 ? ,高电平有效 link_ok[1:0] output 2个PHY芯片链路状态正常指示信号,高电平有效 mdc output MDIOmdc时钟信号 mdio inout MDIOmdio双向信号 MDIOmdio双向信号 (三)模块原理 (1)mdio_top模块 本模块主要完成PHY芯片状态监控和配置,并控制子模块mdio_control完成2个PHY芯片的寄存器的写入和读取。 该延时值可根实际需求进行置。 (2)mdio_control模块 本模块在mdio_top模块的控制下,完成MDIO协议的实现,以及PHY芯片相应寄存器的读写操作。

1.1K30
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTTP

    /json 在一些特殊中(会在文档中说明),可能允许 Content-Type 为 application/x-www-form-urlencoded 或者 multipart/form-data 204 No Content : 请求执行成功,不返回相应资源,如 PATCH , DELETE 成功。 如果能够预延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间(内容可以为字,单位为秒;或者是一个 HTTP 协议指定的时间格式)。 JSON Web Token,一种 Token 的生成标准 Json Web Tokens: Introduction Json Web Tokens: Examples 缓存 部分应该在响应头中携带 callback ,且值为非空字符串,那么将返回如下格式的 $ curl http://api.example.com/#{RESOURCE_URI}?

    32720

    APITOKEN

    现在的基本是mvc模式,URL基本是restful风格,URL体格式如下: http://www.api.com/模块名/控制器名/方法名? 参名1=参值1&参名2=参值2 token生成规则参考如下: $api_token = md5 ('模块名' + '控制器名' + '方法名' + '2018-1-18' + '加密密钥' 加密密钥'为私有的加密密钥,手机端需要在服务端注册一个“使用者”账号后,系统会分配一个账号及密码,参考如下: 字段名及字段类型 client_id varchar(20) 客户端ID client_secret = md5('用户的uid' + 'Unix时间戳') = etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf 服务端用表维护user_token的状态,表如下: 字段名及字段类型如下 ); 5、返回用例如下:添加测试 URL: http://www.api.com/demo/index/add-demo?

    3.7K140

    用例

    背景说明 一个系统可为其他系统提供能力或者直为UI层提供,在系统测试方案时应考虑上游调用的各种场景,不仅考虑顺利且正向思维操作的场景,还应逆向的场景。 换句话来说,使用契约式的方式,运行前条件必须满足,参不正确不可运行;运行中内部状态必须不变;运行后结果必须保持一致。 在用例时,除实现功能外,应关注:幂等性、空校验、流程节点限制、异常校验。 ? 01 幂等性 何为幂等性? 幂等为一学概念,指使用相同参重复执行,能获取相同结果。 依次对 必传参置为空进行请求,此时不可调用成功,无生成,同时关注返回信息明确性,如果返回提示文案为“XX不可为空”一目了然,极方便定位问题,提高效率。 对非空参依次传空,观察调用情况。 当然,首先需明白业务逻辑,从而进行用例。尤其对于参复杂的,当某一条调用规则下 某些非空参就需要作为必传了。

    45331

    APITOKEN

    现在的基本是mvc模式,URL基本是restful风格,URL体格式如下: http://www.api.com/模块名/控制器名/方法名? 参名1=参值1&参名2=参值2 token生成规则参考如下: $api_token = md5 ('模块名' + '控制器名' + '方法名' + '2018-1-18' + '加密密钥' 加密密钥'为私有的加密密钥,手机端需要在服务端注册一个“使用者”账号后,系统会分配一个账号及密码,参考如下: 字段名及字段类型 client_id varchar(20) 客户端ID client_secret = md5('用户的uid' + 'Unix时间戳') = etye0fgkgk4ca2ttdsl0ae9a5dd77471fgf 服务端用表维护user_token的状态,表如下: 字段名及字段类型如下 ); 5、返回用例如下:添加测试 URL: http://www.api.com/demo/index/add-demo?

    6830

    面向与角色

    标签 | 软件 | 1876字 阅读 | 5分钟 问题:在做项目的时候,是不是所有包含非静态方法的类,都要写一个?是因为这样的目的是为了解耦,然后通过DI注入实现吗? 此外,如果你的永远都只有一个实现类,并没有任何可能的需求变化,那么还有必要解耦吗? 所以说,不能死板的将类的方法提取,然后美其名曰为面向。 我们不能误解“面向”原则,该原则所指的“”并非Java语言中的interface类型,而是指面向调用者对外暴露的,代表一种交互与协作,是对信息的隐藏和封装,而不是具体的interface 即使是普通的java方法仍然满足隐藏细节的原则,如果是public的,就可以认为该方法是“面向”中的,也就是说:不要针对实现细节编程,而是针对编程。 同时实现这两个,这就是所谓的“对象、小”,又或者说是隔离原则的体现。

    23210

    SDK心得之

    因此前期的显得尤为重要。关于这部分内容,我会分两篇来介绍,这篇重点介绍具体。另一篇SDK心得之架构和资源将重点介绍SDK的架构和一些资源的使用方式。 关于 原则 名称、参名称要足够清晰 一个牛逼的名称可以替代无的注释 一个只做一件事 一个只做一件事。 我们有个功能有两个:一个是需要传参,另一个不需要传参,两者的逻辑完全是独立的。本来是根第一个原则了两个信、达也算雅的来实现。 有些参调用了是直展示出来的,有些参是放在回调或者使用的,完全是不知道参正确与否的。 等到版本发布,量变的时候,才发现统结果和一个业务逻辑都有问题。最后问题的原因竟然真的就是两个String参位置写错了!!!

    5K90

    型.NET ERP系统的20条规范

    规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。当系统越来越庞,严格控制库的人员,并且有一份规范书供执行参考。 以下20个条款是我从一个超过1000个库表的型ERP系统中提炼出来的约定,供参考。 Source开头的字段一般用于单引用关联。 7 字典键 比如员工主档界面的员工性别Gender,我的方法是在源代码中用枚举定义。 经过这一层库中有关字典方面的就规范起来了,避免了字典的项的增减给系统带来的问题。 存放后者对修改容易,但对报表类或查询类操作都需要增加一个左右连来看字代表的货币。金蝶使用的是后者,它的BOS系统也不允许表之间有直的关联,而是间通过Id值来关联表。

    50460

    API规范

    ,不存在返回错误,一般通过拦截器或者过滤器来实现,Token分为两种: API Token(令牌): 用于访问不需要用户登录的,如登录、注册、一些基本的获取等。 当黑客劫持了请求的url去DoS攻击,每次调用都会判断服务器当前系统时间和中传的的timestamp的差值,如果这个差值超过某个置的时间(假如5分钟),那么这个请求将被拦截掉,如果在置的超时时间范围内 在网络传输过程中如果被黑客挟持,并修改其中的参值,然后再继续调用,虽然参的值被修改了,但是因为黑客不知道sign是如何算出来的,不知道sign都有哪些值构成,不知道以怎样的顺序拼在一起的 ,最重要的是不知道签名字符串中的key是什么,所以黑客可以篡改参的值,但没法修改sign的值,当服务器调用前会按照sign的规则重新算出sign的值然后和传递的sign参的值做比较,如果相等表示参值没有被篡改 拒绝重复调用机制确保URL被别人截获了也无法使用(如抓取)。 对于哪些需要防止重复提交可以自定义个注解来标记。

    1.3K51

    API 规范

    概述 这篇文章分享 API 规范,目的是提供给研发人员做参考。 规范是死的,人是活的,希望自己定的规范,不要被打脸。 后面的参,存放请求的参。 Header 请求头,存放公共参、requestId、token、加密字段等。 Body Body 体,存放请求的参。 幂等性 我们无法保证的每一次调用都是有返回结果的,要考虑到出现网络异常的情况。 举个例子,订单创建时,我们需要去减库存,这时发生了超时,调用方进行了重试,这时是否会多扣一次库存? 思路是这样的: 调用前,先获取一个全局唯一的令牌(Token) 调用时,将 Token 放到 Header 头中 解析 Header 头,验证是否为有效 Token,无效直返回失败 完成业务逻辑后 ,将业务结果与 Token 进行关联存储,置失效时间 重试时不要重新获取 Token,用要上次的 Token 小结 限流、熔断、降级,这些就不多说了,因为部分都用不到,当用上了基本上也都在网关中加这些功能

    3.2K50

    RobotFrameWork规范

    1前言 继前面一章《RobotFramework环境搭建》介绍了在本地如何将自动化实施过程所需要的基础环境搭建好,在这里假家都已经知道环境如何搭建了,如果不清楚的可直查看上一章节 RobotFrameWork 3.2、命名规则 自动化脚本中命名通常可以按照部分url+方法类型组成,部分url是指非参部分的最后两级路径。 ,序号由2位字组成,2位字表示字段验证序号,结果通常可以分为三类,当有错误码时为错误码,当无错误码返回为空时为Null,当有返回时为data,例如: 返回错误码:Field_01_1100018 ; 返回空:Field_02_null; 返回:Field_05_data; Business_序号:表示业务用例,主要用例验证业务逻辑,序号由2位字组成,表示验证序号,如:Business_01 所以最好的方式是在在之初的阶段就要考虑好用例的分类,而在RobotFramework中通过标签Tag的形式,很方便就可以将用例划分成不同归类。

    28110

    RESTful 指南

    因此,必须有一种统一的机制,方便不同的前端备与后端进行通信,这导致 API 构架的流 行,甚至出现"API First"的思想,RESTful API 是目前比较成熟的一套互联网应用程序的 API 理论。 路径,在RESTful架构中,每个网址代表一种资源(resource),所以网址中建议不能有动词,只能有名词,而且所用的名词往往与库的表格名对应。 一般来说,库中的表都是同种记录的"集合"(collection),所以 API 中的名词也应该使用复。 5. Http 请求的方式。 (1).GET(SELECT),查询服务器资源。 6.过滤方式、请求方式、返回、安全。

    13110

    RESTful风格

    遵循RESTful风格,可以使开发的通用性更好,统一规范,减少沟通、学习和开发的成本。

    8540

    Angular Public API

    只有非常具体的用例需要直访问编译器 API(主要是 IDE、linter 等的工具集成)。 此外,仅涵盖了@angular/compiler-cli 的命令行使用(不是直使用 API)。 在支持的软件包中,Angular 提供以下保证: (1) 通过主入点(例如@angular/core)和测试入点(例如@angular/core/testing)导出的符号。 (2) 可注入类(服务和指令)的构造函 - 请使用 DI 获取这些类的实例 (3) 任何标记为私有的类成员或符号,或以下划线 (_)、禁止拉丁语 o (ɵ) 和双禁止拉丁语 o (ɵɵ) 为前缀。 如果更新不会对 Angular 应用程序造成重更改,我们可能会在次要版本中更新任何这些依赖项的所需版本。导致重破坏性更改的对等依赖项更新必须推迟到主要的 Angular 版本。

    10220

    RDBMS变化,采集和平台

    如果一个系统对原先变化有处理需求,在系统之初可以参考上面的方式。从源头开始会对后面的处理带来极便利。如果是现有系统,且之初没有考虑对变化的处理。 从系统性能上考虑,下游系统去扫标记位,在现有RDBMS系统上没有对库性能产生影响的。现有基本可行的方式,1. 建立B+/-Tree索引,但是对于标记位值重复量的不是一个友好。 如果产生之初,入之初都很难,那系统有极的夭折可能性。好像生小孩也是这样? 2.保证库内扩展性同时,不对系统现有产生影响。因为对所有的表更新操作,都在v$sql中都可以找到,不需在时,对单个表进行重新和业务处理,所有更新查询都使用一套sql。 实现源头较强容错 可以做到较强的扩展性,在库内以及不同库产品(特指sql server和oracle)不用针对单个表,做单独业务。降低入成本。

    859180

    模式 ☞ 七原则之隔离原则

    里面通常放置许多不用的方法,当实现这个的时候,被迫冗余的代码  ⑤ 如果的粒度小定义合理,能够保证系统的稳定性;但是,如果定义过小,则会造成量过多,使复杂化;如果定义太 粒度是越小系统越灵活,这是不争的事实,但是这就带来的结构的复杂化,开发难度增加,维护性降低,这不是一个项目或产品所期望看到的,所有一定要注意适度。 隔离原则是对的定义也同时是对类的定义,和都尽量使用原子或原子类来组装,但是这个原子该怎么划分是这个模式也是中的一难题,在开发中一般遵循一个只服务于一个子模块或者业务逻辑的原则。 隔离原则和其他的原则一样,都是需要花费较多的时间和精力来进行和筹划,但是它带来了的灵活性,让你在业务人员在提出“无理”要求的时候可以轻松应付。 答案是根经验和常识决定的粒度小,粒度太小,导致剧增,开发人员呛死在的海洋里;粒度太,灵活性降低,无法提供定制服务,给整体项目带来无法预的风险。

    63720

    解析型.NET ERP系统 20条规范

    规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。当系统越来越庞,严格控制库的人员,并且有一份规范书供执行参考。 以下20个条款是我从一个超过1000个库表的型ERP系统中提炼出来的约定,供参考。 1 所有的表的第一个字段是记录编号Recnum,用于维护 ? 在进行维护的时候,我们可以直这样写: ? 2 每个表增加4个必备字段,用于记录该笔的创建时间,创建人,最后修改人,最后修改时间 ? 框架程序中会强制读取这几个字段,默认写入值。 经过这一层库中有关字典方面的就规范起来了,避免了字典的项的增减给系统带来的问题。 存放后者对修改容易,但对报表类或查询类操作都需要增加一个左右连来看字代表的货币。金蝶使用的是后者,它的BOS系统也不允许表之间有直的关联,而是间通过Id值来关联表。

    91370

    Java模式:(1)模式七原则-隔离规则

    基本介绍 客户端不应该依赖它不需要的,既一个类对另一个类的依赖应该建立在最小的上 举个例子1 ? 上图1中,类B实现了Interface1; 类D实现了Interface1; 类A通过Interface1分别依赖类B,但只使用的1,2,3三个方法; 类C通过Interface1 Interface1依赖B,类C通过Interface1依赖D,如果Interface1对于类A和类C来说不是最小,那么类B和类D就不必去实现它们不需要的方法 按照隔离原则应当这样处理: 将Interface1拆分为独立的几个,类A和类C分别与他们需要的建立依赖关系。 例子2使用隔离原则改进: 1)将Interface1拆分为独立的三个,类A和类C通过隔离原则分别与他们建立依赖关系 public class Segregation2 { public

    13510

    6原则之隔离原则

    隔离原则的定义 什么是. 隔离原则的实现 比如现在有一个人,他身兼职,是一个老师,要教书,是一个学生,要学习,类图如下: ? 在使用时的时候通过调用.是我们时对外提供的契约,通过分散定义多个,可以预防未来变更的扩散,提高系统的灵活性和可维护性. 定制服务,定制服务就是单独为一个个体提供优良的服务,只提供访问者需要的方法 是有限度的,粒度越小,系统越灵活.但是,灵活的同时也带来了结构的复杂化,开发难度增加,可维护性降低,所以一定要注意适度 . ---- 隔离原则就是对的定义,同时也是对类的定义,和类尽量使用原子或原子类来组装.

    40910

    相关产品

    • 腾讯云智绘

      腾讯云智绘

      泰山创意创作(TAIDC)是腾讯推出的面向创作者,以及企业在泛内容领域的素材智能化设计生产平台,提供在线工具创作各类形态素材,用于传统行业,新媒体等运营。为企业提供深度定制接口,秒速海量的服务生产效果稳定,可靠的创意素材,助力用户与企业达成降本增效目标。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券