从项目始末谈面向对象——领域模型

                                                                                    从项目始末谈面向对象——领域模型

         利用端午放假的时间,腾出这点时间总结下对于领域模型的思考,也许这思考可能不如端午的粽子可口、美味。

但是尝下不同味道的粽子,也是不错的。

        希望,大家会喜欢这样的粽子。

       言归正传,什么是领域?什么是领域模型?

       先举个不着边的例子,比如端午节的粽子。从包粽子的过程中涉及到几个现实对象的关系:糯米、叶子、苇草、馅的关系。可以用软件表示手法来看粽子的对象关系图。

             


                                                                                                     图一:粽子领域模型图

         从上述的模型图,可以看出粽子这个概念是由叶子、苇草、米、馅这几种概念对象组合而成的。粽子的演进也可以通过采用不同的具体对象来达成,

         比如叶子用竹叶、芭蕉叶;苇草采用江西苇、芦苇;米采用糯米,普通米(珍珠米,泰国香米);馅采用肉馅、虾仁,或者采用组合馅。

         从软件实现的角度来说,是通过继承、泛化来实现不同的粽子。但无论是什么样的粽子,粽子这个概念始终要跟叶子、苇草、米、馅这几个概念相互关联。

        因此,我们也可以知道什么是领域模型?领域模型阐述了领域(某一类概念、产品、事物)中心的重要概念,以及阐述了这些概念之间的关系。领域模型对领域内的重要概念和现实中的对象做了可视化的表示。

       了解了领域模型这个概念后,那么领域模型中概念有几种典型的形式?大概有如下的形式:

      1)业务对象(业务资源)

      2)系统中要处理的现实世界中的对象和概念。

       举个简单的例子来描述下什么是业务对象,什么是系统中要处理的对象和概念。比如操作系统这个领域,还是先通过操作系统的领域模型来阐述什么是业务对象(业务资源),什么是系统中要处理的概念和对象。

     

                                                                                                    图二: 操作系统领域模型

        图中在OS中就是操作系统这个领域要处理的对象和概念,OS边界外的就是业务资源。在OS这个领域中,通过处理进程、进程管理、文件系统、内存管理、IO调度、

设备这个几个概念或者对象,从操作了物理内存、存储介质、网卡、CPU等实际资源对用户呈现了一个可以编辑、网上冲浪、听歌等功能计算机或者类似的系统(平板、手机)

等产品,业务对象或者叫业务资源一般是在系统边界之外的,如果系统的边界不同,所看到的业务对象范围也是不同的。

     领域模型着重从用户的角度,对系统涉及的现实对象,以及之间的关系进行阐述、可视化表示。

    在领域建模的过程中,需要进行什么样的活动?

    1)沟通,理解领域应用。一般进行领域建模,需要该领域内的专家进行沟通,尝试理解这个领域的应用。理解领域应用注重问题域的角度,了解系统的业务规则。

         从使用的角度,进行系统阐述。

    2)查找领域类——概念类。通过沟通、领域理解,进行领域类的发现,这个类是现实的对象,基于用户角度、用户可以感知到的类。

         有时,我们会将实现类和现实的类混淆。

    3)详细说明概念类,构建数据字典表。构建数据字典表,有利于领域建模的交流。

    4)确定概念类之间的关系,其实从某一种角度,也在构建一种业务规则。

   总之领域建模,是用户的角度去理解、阐述领域应用,从而寻找领域中的现实对象。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值