在进行开发的过程中,尤其是Java的开发。在对哪些类需要组织在一个包中,哪些类需要放在另外一个包中往往感到比较迷茫。UML一书中给了我们比较好的总结如下:
准则1 通过功能性内聚进行划分
意即将参与共同目的,服务,协作,策略和功能的强相关类型组织在一起。
准则2 将一组功能上相关的接口放入单独的包
准则3 区分用于正式工作的包和用于聚集不稳定类的包
准则4 职责越多的包越需要稳定
准则5 将不相关类型分离
准则6 使用工厂模式减少对具体包的依赖
准则7 使用接口打破循环依赖