OO编程的基本功 (1)
本系列将浅谈一些OO编程语言的基本功。
编程的基本功决定了代码质量,编程思路以及编程水平,在工作中是重中之重。本文作为开篇,介绍一下OO编程中的基础与重点--保证抽象的一致性。
Code
什么是Code?把需求转为软件环境下可正确执行的软件的过程,称为编程。而实现这个编程的具体化流程,就叫做写code。在OO的编程世界里,写code既像写story,又像写一篇从抽象到具体的文章。
为了说明本文的主旨-保证抽象的一致性,我们就以code与Story和Code与写文章的对比作为本系列的开篇示例吧。
写code与story
一个好的实现:
左边的code反应了编程时应当把握的重心--抽象层次要一致(在本例中,抽象层次为domain级别)。不合格的code也许会写成类似这样:
可以看到,本次实现的code抽象层次参差不齐,显然CheckPassword的抽象层次要低于User.Pay,因为它是User.Login的具体实现;而User.Order.Status则为User.SaveOrder的具体实现。代码的抽象层次不一致,除了降低可读性,也带来了维护成本和扩展难度。
写code与写文章
保持抽象一致的代码实现:
抽象层次混乱的实现:
首先,登录的抽象层次是domain级别的。同一个方法里,暴露了Order的实现,付款的实现。抽象层次显然不一致,因此,这段代码是需要重构的。
结论:
可见,code与写文章的思路是一样的,都是从抽象到具体,抽象层次依次降低。在同一个函数里,代码调用的抽象层次应该是一致的。如果是线性的流程,按照从抽象到具体的步骤“翻译”即可;如果是可以并行的流程(不分先后顺序),还可以考虑是多线程来优化。
在OO的编程中,无论是类,接口,还是函数的设计,关键都在于,抽象的层次要始终保证一致。
分享到:
相关推荐
C_OO思想编程
dev-license-CD5L3-5K9OO-U7UXV-06HLC-9RQN.zip
Practical OO Development with Delphi-Chap08.pdf
Practical OO Development with Delphi-Chap00.pdf
依赖倒置原则的2个重要方针 1.高层模块不应该依赖于低层模块,二者都应该依赖于抽象 2.抽象不应该依赖于细节,细节应该依赖于抽象
SAP-ABAP-OO-实现-CL-SALV-TABLE
prototypal-oo-js-object-oriented-constructor-functions-lab-online-web-ft-110419-源码.rar
ruby-oo-fundamentals-attribute-accessors-lab-wdc01-seng-ft-060120-源码.rar
ruby-oo-fundamentals-attribute-accessors-lab-sea01-seng-ft-071320-master.rar
OO设计原则 --OO设计的LSP里氏替换原则 ,所以使用基类代码的地方,用派生类代码替换后,能够正确的执行动作处理。 ◇ 换句话说,如果派生类替换了基类后,不能够正确执行动作,那么他们的继承关系就应该废除。
Advanced OO Methodology- 4Requirments.pdfAdvanced OO Methodology- 4Requirments.pdf
ooop-2020-2021-semester-2
C 语言对象化设计实例 — 命令解析器
资源分类:Python库 所属语言:Python 资源全名:oo_cli-0.0.5-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
aTree.addNode(new JsTreeNode({id: 0,pid:-1 ,text:"root"})); aTree.addNode(new JsTreeNode({id: 1,pid:0 ,text:"No1"})); aTree.addNode(new JsTreeNode({id: 2,pid:0 ,text:"你好"})); aTree.create();
对于UML有个大体的了解,但是如果想系统的学习那么大象去
目录一、面向对象概述(1)封装(2)继承(3)多态二、面向对象与面向过程编程1.面向过程编程(1)软件重用性差(2)软件可维护性差(3)开发出的软件不能满足用户需要2.面向对象编程3.面向对象的特点(1)代码容易修改(2)代码复用...
88oo-partitionexpert2003分区软件
转到OO 通过CLI进行HP OO操作先决条件HP OO 10.x Central已安装并正在运行去设置安装去获取-u -t -v github.com/dorsha/go2oo (或下载为.zip / .tar.gz) 进行构建(从根目录)用法go2oo.exe --help 显示已部署的...
ISO 9001:2015品質手冊,係企業組織導入ISO 9001:2015必備之文件,很有實務參考價值.