1700462003
设计模式之禅 13.5 最佳实践
1700462004
1700462005
原型模式先产生出一个包含大量共有信息的类,然后可以拷贝出副本,修正细节信息,建立了一个完整的个性对象。不知道大家有没有看过施瓦辛格演的《第六日》这部电影,电影的主线也就是一个人被复制,然后正本和副本对掐。我们今天讲的原型模式也就是由一个正本可以创建多个副本的概念。可以这样理解:一个对象的产生可以不由零起步,直接从一个已经具备一定雏形的对象克隆,然后再修改为生产需要的对象。也就是说,产生一个人,可以不从1岁长到2岁,再到3岁……也可以直接找一个人,从其身上获得DNA,然后克隆一个,直接修改一下就是30岁了!我们讲的原型模式也就是这样的功能。
1700462006
1700462007
1700462008
1700462009
1700462011
设计模式之禅 第14章 中介者模式
1700462012
1700462014
14.1 进销存管理是这个样子的吗
1700462015
1700462016
大家都来自五湖四海,都要生存,于是都找了个靠山——公司,就是给你发薪水的地方。公司要想尽办法赢利赚钱,赢利方法则不尽相同,但是各个公司都有相同的三个环节:采购、销售和库存。这个怎么说呢?比如一个软件公司,要开发软件,就需要购买开发环境,如Windows操作系统、数据库产品等,这就是采购;开发完产品还要把产品推销出去;有产品就必然有库存,软件产品也有库存,虽然不需要占用库房空间,但也要占用光盘或硬盘,这也是库存。再比如做咨询服务的公司,它要采购什么?采购知识,采购经验,这是这类企业的生存之本,销售的也是知识和经验,库存同样是知识和经验。既然进销存是如此重要,我们今天就来讲讲它的原理和设计,我相信很多人都已经开发过这种类型的软件,基本上都形成了固定套路,不管是单机版还是网络版,一般的做法都是通过数据库来完成相关产品的管理,相对来说这还是比较简单的项目,三个模块的示意图如图14-1所示。
1700462017
1700462018
1700462019
1700462020
1700462021
图14-1 进销存示意图
1700462022
1700462023
我们从这个示意图上可以看出,三个模块是相互依赖的。我们就以一个终端销售商(以服务最终客户为目标的企业,比如某某超市、某某商店等)为例,采购部门要采购IBM的电脑,它根据以下两个要素来决定采购数量。
1700462024
1700462025
❑销售情况
1700462026
1700462027
销售部门要反馈销售情况,畅销就多采购,滞销就不采购。
1700462028
1700462029
❑库存情况
1700462030
1700462031
即使是畅销产品,库存都有1000台了,每天才卖出去10台,也不需要采购了!
1700462032
1700462033
销售模块是企业的赢利核心,对其他两个模块也有影响:
1700462034
1700462035
❑库存情况
1700462036
1700462037
库房有货,才能销售,空手套白狼是不行的。
1700462038
1700462039
❑督促采购
1700462040
1700462041
在特殊情况下,比如一个企业客户要一次性购买100台电脑,库存只有80台,这时需要催促采购部门赶快采购!
1700462042
1700462043
同样地,库存管理也对其他两个模块有影响。库房是有容积限制的,不可能无限大,所以就有了清仓处理,那就要求采购部门停止采购,同时销售部门进行打折销售。
1700462044
1700462045
从以上分析来看,这三个模块都有自己的行为,并且与其他模块之间的行为产生关联,类似于我们办公室的同事,大家各干各的活,但是彼此之间还是有交叉的,于是彼此之间就产生紧耦合,也就是一个团队。我们先来实现这个进销存,类图如图14-2所示。
1700462046
1700462047
1700462048
1700462049
1700462050
图14-2 简单的进销存类图
1700462051
[
上一页 ]
[ :1.700462002e+09 ]
[
下一页 ]