美文网首页
简说产品与业务逻辑(1)

简说产品与业务逻辑(1)

作者: 九品产品伯爵 | 来源:发表于2019-12-26 09:51 被阅读0次

如图1-1所示,我们先接触了分层架构,然后对每个层产生了初步的认识。其中,由于表示层和数据访问层的代码职责清晰明确,基本能正确认识。但是,由于我们接触的分层架构的Demo大多业务极其简单,又基本是CRUD操作集中型的业务。所以,我们脑子中就产生了疑问:这个所谓的业务逻辑层是干什么的?怎么就简单封装了一下数据访问层的操作?这有存在的必要吗?由于有了这种“先入为主”的误导,使得很多朋友脑中将“业务逻辑”和“业务逻辑层”两个概念混淆了,始终想不明白这东西到底是什么,做什么用的。再加上很多朋友所看的、所做的系统都是CRUD操作集中型的,就形成了“业务逻辑貌似就是对数据访问操作的简单封装”这一片面概念。到底这一概念有没有错呢?其实没错,因为在简单的、CRUD操作集中型软件中,业务逻辑基本就是对数据访问简单的封装。但是,无错不代表全面,这是一种狭义的业务逻辑理解,而且是狭义中的狭义。为什么这么说呢?因为我们不但是在“业务逻辑层”这么一个狭义范围内去理解业务逻辑,而且还是CRUD集中型操作这种“非常瘦”的业务逻辑层范围内去理解,所以,可谓是在狭义的基础上的狭义。

图1

广义上的义务逻辑——软件本身固有的一种品性,自然存在于软件产品内部,是软件具有的在某个业务领域内的逻辑,是软件的核心和灵魂。软件产品除界面和交互外的一切都可看作是广义业务逻辑。
狭义上的业务逻辑——等同于分层架构中“业务逻辑层”的职责,是软件中处理与业务相关任务的部分,一般狭义上的业务逻辑不包含数据持久化,而只关注领域内的相关业务。

业务逻辑的组成结构

业务逻辑作为一个高层次概念,其内在结构也是非常丰富的,下面我们深入其里,去探寻一下业务逻辑都是由哪些更底层的部分构成的。

领域实体(Domain Entity)

通俗的说,领域实体就是这个领域内有哪些东西。例如,银行业领域内有账户、支票、前台营业员等实体;B2C电子商务领域有商品、订单、交易等实体;魔兽世界游戏的领域内有角色、种族、道具、魔法等实体;高等代数领域有矩阵、行列式等实体。

领域实体是某个领域内各种对象的抽象,可以用名词表示(可以是具体名词或抽象名词,甚至动名词,只要其具有名词性),构成了整个业务逻辑的骨骼和静态模型。一般每个领域实体有自己的一些属性和行为。 顺便说一句,领域实体的存在时OOA&D的基础。

在具体的软件系统中,领域实体往往会根据架构的不同有不同的映射存在形式。

其中一种叫做Business Object(BO),即业务对象,某些文献称其为“充血实体类”,这种对象完整抽象了领域内的某个实体,封装了此实体相关属性和行为。在面向对象的设计和架构中,这种实体类很常见。

另一种叫做Data Transfer Object(DTO),某些文献称其为“贫血实体类”,其特点是仅有属性,不存在行为。这种实体类主要负责整体性传递数据。另外,与BO不同的是,DTO可以不抽象领域实体的全部属性,而只根据需要抽象一部分。例如,某个“User”实体存在很多属性,但如果某个方法仅需要其联系方式,可以设计一个DTO,仅有id,email,address,phone等就够了。在面向过程的设计和架构中,这种实体设计比较常见。

相关文章

  • 简说产品与业务逻辑(1)

    如图1-1所示,我们先接触了分层架构,然后对每个层产生了初步的认识。其中,由于表示层和数据访问层的代码职责清晰明确...

  • 《三节课》在线课程笔记:产品业务流程设计(侵删)

    主讲:布棉 老师 一、业务流程图基本概念 1.0回顾产品架构逻辑与业务流程 完整的产品体系=产品架构+业务逻辑+业...

  • 产品小白的成长之路-业务流程图设计

    业务流程图是产品需求文档的必备之一,是产品业务逻辑的图形化表达。 1.业务流程的基本概念 产品架构、业务逻辑、业务...

  • 产品架构与业务逻辑

    产品分析↓ 解决方案:解决用户问题的1-3个核心功能与产品流程 工作流:需求分析、核心流程 (用户需求变成线上功能...

  • 第一节产品经理自我总结

    产品调研的方向:一、产品的概况二、产品核心功能三、调研背景以及目的四、用户场景和需求五、产品逻辑与结构1.核心业务...

  • 决胜b端 | 读书笔记01-03章

    C端与B端产品的区别: B端产品经理应具备的能力: 1、逻辑思维与抽象能力: 基于对业务的透彻理解,把现实世界的复...

  • 解剖产品的本质(3)——如何看一款产品

    看产品,看三个东西: 产品形态业务逻辑业务流程图 产品形态:指的是整个产品的运作逻辑,关注的是用户角色,信息和渠道...

  • 移动端性能优化

    性能优化的维度 1. 逻辑与架构 1. 逻辑优化 逻辑优化的核心: 1. 业务流的逻辑最优; ...

  • 网易新闻与今日头条v3

    1.今日头条与网易新闻客户端新闻详情页业务逻辑如下: 由上图分析,可以看出,两款产品在对“新闻”功能的业务流...

  • code review

    代码审查 5个层次1、业务架构的审查重构(1)对相应业务逻辑的设计进行审查。 目的在于使业务逻辑架构的设计与用户需...

网友评论

      本文标题:简说产品与业务逻辑(1)

      本文链接:https://www.haomeiwen.com/subject/bclkoctx.html