04 2022 档案
摘要:什么是依赖倒置原则? 设计一个灵活的系统,在源代码层级的依赖关系中就应该多引用抽象类型而不是引用具体的实现。 一个稳定的抽象接口以适用于该情况下的绝大部分引用,比如支付接口,前期需要接入四大行后期还要接入支付宝微信,那么根据需求我们可以先实现四大行的实现,我们要抽象出来一个接口 通过类型实现获取当前
阅读全文
摘要:本文包含(什么是架构;设计架构的目的;架构的复杂度来源;架构设计原则;) 内容 1、什么是架构 理解架构首先要了解三组概念 1、系统和子系统 系统: 百科上定义的系统:系统泛指一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作群体。它的意思是”总体“ “整体”或者“联盟” 1)
阅读全文
摘要:单一职责原则:就一个类而言,仅有一个引起它变化的原因。 类的角度:比如说一个类只做列表查询的返回体那么在获取详情的时候返回体就不能使用获取列表的返回体的这个类。 方法角度:如果说这个提交方法的目的就是提交A那么这个在这个方法中就不能对这个方法增加提交B。 开闭原则:对扩展开放对修改关闭。 业务逻辑角
阅读全文
摘要:我们项目组有一个业务代码足足有600行,我当时就认为这段代码为垃圾代码。在重构一书中写过“一个很重要的代码坏味道,就是 long method,方法如果过长极有可能是有坏味道了”。但是对于业务代码可以使用oop 的三件套 封装 继承 多态。在这段代码中根本没有看到这三样。面向对象设计其实就是希望做到
阅读全文
摘要:什么是委托: .net中委托类型是用来定影和响应应用程序中的回调。委托类型是一个类型安全的对象,指向可以以后调用的其他方法。 委托类型包含3个重要信息: 所包含的调用的方法名称; 该方法的参数(可选); 该方法的返回值类型(可选); 当需要将一个方法当做另一个方法的参数传递下去是,对于c、c++等需
阅读全文
摘要:如何写“好代码” 1、熟悉架构了解架构的分工,掌握架构的层次,从而清晰明了的实现方法的调用,不管系统架构后来如何演化,对于业务实现调整不大。 2、通过业务需求产出不同的实现方案,在从实现方案中最合适的选择最优的,有利于扩展的方案,方案实现应该尽可能的依赖于抽象而不依赖于细节(依赖倒置原则)。 3、业
阅读全文
摘要:一、结构化编程 1、可推导性 程序员可以用代码将一些已经证明可用的结构串联起来,只是证明这些额外代码时正确的,就可以推导出整个程序的正确性。 2、功能性降解拆分 程序员可以将大型系统拆分为模块和组件,而这些模块和组件最终可以次啊分为更小的可以证明的函数。比如:模块从业务视角才分,零售销售模块,可以拆
阅读全文