zoukankan      html  css  js  c++  java
  • 《敏捷软件开发》学习笔记 第18章 薪水支付案例研究

    第一次画的UML类图是很潦草的,但凡事都从第一次开始,然后不断迭代。

    刚开始,从客户那里得到如下信息:

    1.职员分为钟点工,普通职员,销售(可以拿提成)

    2.职员可以选择薪水支付方式,支票发放,现金发放,和银行卡打款。

    3.公司有一个协会(工会?),加入协会的职员每个月收取一定的会费,从工资中扣除。

    --------------------------------------------------------------------------------

    然后通过客户给出的信息,模拟使用例子:

    1.增加职员

    2.删除职员

    3.支付薪水

    等等。。。

    --------------------------------------------------------------------------------

    关于增加职员的操作,书中给出这样的UML类图:

     

    一般去实现增加职员这个操作,通常会联想到数据库,直接连接数据库然后加一条数据不就完事了吗?

    但是真正需要的是得到一个新职员的对象模型,一个数据类型。

    其中有一些操作只有钟点工才能做的,比如时间卡的时间累积。

    比如增加销售凭条就是销售才有的。

    这个是需要注意的一方面。

    --------------------------------------------------------------------------------

    薪水操作,书中的UML类图是这样的:

    像TimeCard, SalesRecelpt这样的功能,都用组合来实现了。往往自己开发的时候图方便,肯定都直接写到类里面去了。

    归属Affiliation,的部分用了空对象模式NoAffiliation类。

    这样的结构有种以职员为中心的感觉。

    对于钟点工的薪水支付,书中图片如下:

    另外一种也差不多

  • 相关阅读:
    Java设计模式之工厂模式的两种实现方式
    1.揭开消息中间件RabbitMQ的神秘面纱
    再谈spring的循环依赖是怎么造成的?
    深入理解java反射原理
    关于springmvc的helloworld的压测报告
    线程池工厂Executors编程的艺术
    lazy-init 懒加载的艺术
    spring中的mybatis的sqlSession是如何做到线程隔离的?
    java并发机制锁的类型和实现
    ReentrantReadWriteLock 读写锁解析
  • 原文地址:https://www.cnblogs.com/hont/p/3130674.html
Copyright © 2011-2022 走看看