传统的软件设计方法,先是概要设计,再详细设计,还是一层层的,过程化的思想,而类分化,是一种完全的面向对象的设计方法,具体步骤如下:
1、1对1建模,提取概念,建立概念类。
2、确定类的单一职责,分辨变化的部分与不变的部分。
3、类分化,考虑业务需求,将变化的部分与不变的部分隔离成两个部分,在中间加入一个适配和胶合的类,适配,代理,装饰等设计模式就是用来隔离变化的。
4、考虑实现的限制,设计对硬件设备,计算机技术的抽象,作为底层设施类。对硬件设备的抽象好理解,比如外部的modbus服务器,底层的spi总线等等;对计算机技术的抽象,指的是比如你的配置文件,可以是ini格式,也可能是xml格式,这些都会被抽象成对应的类。
5、产生用于适配和胶合的类,将业务抽象出来的概念类和底层设施类组合起来,完成业务逻辑。
到这里,一整个框架就搭建好了,由于这个过程是完全基于业务概念来实现的,对于业务的变更,具有特别大的适应性,除了需求的用例图,也不需要特别多的文档,真正实现了敏捷开发。