业务资源管理模式语言03

示例:

图3 表示了IdentifyTheResource 模式的实例,其中"Product"扮演"Resource"角色。

图3 ------IdentifyTheResource 模式的实例

下一个模式:

完成IdentifyTheResource,下一个模式是QualifyTheResource(2)(限定资源)

模式2 ------QualifyTheResource(限定资源)

上下文

你已经确定了系统所要处理的所有资源和它们的主要属性。其中一些属性可能由许多资源实例共有。例如,零售店里的许多部件可能是属于同一个制造商,或者上千辆汽车属于同一个型号。

问题:

如何确定作为分类的资源性质?

约束:

􀁺 业务资源经常需要分类。例如,在一个录象带出租商店,录象带被分类为"探险"、"悬念"、"浪漫"、"喜剧"等。这些限定条件在获得有意义的报告时非常有用。例如,用户喜欢那一类影片,希望购买那些。这种分类可以通过在资源类中添加一个属性来实现。这种方法在分类本身只是一个描述而没有自身属性时可以采用。

􀁺 当分类属性本身具有共同的属性和方法时,将分类属性独立为一个类更加合适。为每个资源都保留相同的属性描述会导致冗余。但是,分开处理可能增加系统的处理时间。在优化系统性能时需要考虑这些问题。

结论:

评价所有业务资源的属性,确定那些起到分类作用的属性。

解决方案:

为每一个作为分类的属性建立一个"资源类型(Resource Type)"类,并且与"资源(Resource)"类相连接,它们之间的关系必须是"多对一",说明多个资源共享相同的资源类型。

略图:

图4 表示QualifyTheResource 模式。"Resource(资源)"类中添加了一个方法,根据类型列出资源。新创建的"Resource Type(资源类型)"类具有"Code(代码)"属性(可选),"Description(描述)"和由特定情况决定的其它属性。

图4------QualifyTheResource 模式

相关推荐
他们都不看好你,偏偏你最不争气7 天前
OC语言学习——面向对象(下)
开发语言·学习·objective-c·面向对象
正在走向自律11 天前
Python面向对象编程实战:从类定义到高级特性的进阶之旅(2/10)
开发语言·python·面向对象·python基础知识
code_shenbing13 天前
C# 面向对象实例演示
c#·面向对象
让我们一起加油好吗17 天前
【C++】类和对象(上)
开发语言·c++·visualstudio·面向对象
lybugproducer19 天前
创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式
java·设计模式·建造者模式·简单工厂模式·工厂方法模式·抽象工厂模式·面向对象
FreakStudio23 天前
一文速通Python并行计算:09 Python多进程编程-进程之间的数据同步-基于互斥锁、递归锁、信号量、条件变量、事件和屏障
单片机·嵌入式·大学生·面向对象·多进程·技术栈·并行计算·电子diy
FreakStudio1 个月前
一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估
python·单片机·嵌入式·多线程·面向对象·并行计算·电子diy
Freak嵌入式1 个月前
一文速通 Python 并行计算:06 Python 多线程编程-基于队列进行通信
开发语言·python·多线程·面向对象·并行计算
FAREWELL000751 个月前
C#核心学习(十二)面向对象--多态(1)virtual override和base三剑客
学习·c#·多态·面向对象·oop·虚方法表
FreakStudio1 个月前
一文速通Python并行计算:06 Python多线程编程-基于队列进行通信
嵌入式·多线程·面向对象·并行计算·线程同步·电子diy