十一、系统

复杂要人命,它消磨开发者的生命,让产品难以规划、构建和测试。

                                                                                           -Ray Ozzie,微软公司CTO

1.将系统的构造和使用分开

软件应该将起始过程和运行时逻辑分离开,在起始过程中构建应用对象,会存在相互缠结的依赖关系。

(1)分解main

将全部构造过程搬迁到main模块中,应用程序只管使用。


(2)工厂

构建能力由工厂控制,而工厂又是在main模块。


(3)依赖注入


2.扩容,隔离关注问题

(1)java代理(通过反射)

(2)纯Java AOP框架(Spring AOP,JBoss AOP)

(3)AspectJ

3.测试驱动系统架构

最佳的系统架构有模块化的关注面领域组成,每个关注面均用纯Java对象实现,不同领域之间用最不具有侵害性的方法或类方面工具整合起来,这种架构能测试驱动,就像代码一样。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,581评论 25 708
  • 又是一年高考时 早晨醒来时点了首《Brand New Day》 力量满满 我是一直都相信着的,眼下做的每件事 都不...
    文质彬彬0阅读 170评论 0 0
  • 文/钟沁之 相信关注实事热点和社会舆论的朋友,一定对一个词不陌生。 这个词近年在网络场引发了不小波澜,成为天朝人民...
    钟沁之阅读 355评论 2 1
  • 拍摄地点,家里的院子。 拍摄器材,胶片单反美能达700 冲洗,富士sp3000
    秋风鱼鸣阅读 290评论 2 2