感悟系列-抽象类

一、前言

  在对业务对象进行设计,通过抽象和接口来构建类,由类及其类之间的关系构建模块或者模式,由模块及其堆叠构建框架,由框架的整合构建系统,由系统及系统间的分工与合作构造平台,整个过程和房子的建造是一致的,由小到大,由零散到整体的过程。所以由0到1的过程,抽象和接口的设计就尤其的重要,假设在对需求足够明确,对业务理解足够清晰明了的情况下,如何通过抽象的方式把握业务本质和主体就显得至关重要。好的抽象带来的是业务的明确,不好的抽象带来的是业务模糊不清。

二、定义

  抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上,对于丰富的感性材料通过去粗取精、去伪存真、由此及彼、由表及里的加工制作,形成概念、判断、推理等思维形式,以反映事物的本质和规律的方法—来自百度百科的定义。

  在类的创建中,抽象是对系统业务中的具有同类性质的对象(事物)抽象公有的方法、属性、事件,对非公共的通过定义抽象方法,在继承抽象的类中重写虚方法。抽象的角度或者抽象的高度不同,所表达的含义也会不同,所以抽象的内容就不仅仅局限于场景中对象(实体)还可以是业务规则、服务、算法等等。

  抽象与具体想比较是一个很泛的东西,不易于理解,就像在数学中的代数表达式,通过简简单单的几个符号就代表了一类函数,可见抽象的概括性,统一性,表达上的魅力。在模式设计,抽象对于模块间的解耦可以通过抽象类的方式来实现,在设计原则中有“抽象不应该依赖于细节,细节应该依赖于抽象”,所以使用的抽象也是构建良好的系统的关键。

 

三、总结

  抽象不仅仅是在业务实体中进行,还可以在其他方面中体现,所要表达的就是把这个事物通过简单的定义描绘出来,把相关性的事物在进行归属和分类,使得层次清晰明了,业务在代码中也得到体现。由于抽象在角度的选取,层次的高低上有所不同,所以抽象没有唯一答案,同一个业务可能抽象的模型是不一样的,好与坏取决于模型和业务的接近程度。

posted @   tuqunfu  阅读(64)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示