
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
统计系统的应用在许多软件编程开发项目中也是会经常用到的一个编程开发功能,下面我们就通过案例分析来了解一下,统计系统应用需求与设计方法。
对于这样一个通用的框架的开发,还需要考虑很多非功能性的需求。
(1)易用性,框架是否易集成、易插拔、跟业务代码是否松耦合、提供的接口是否够灵活等等。
(2)性能,一方面,希望它低延迟,即统计代码不影响或很少影响接口本身的响应时间;另一方面,希望框架本身对内存的消耗不能太大。
(3)扩展性,从框架使用者的角度来说,可以在不修改框架源码的情况下,为框架扩展新的功能,类似给框架开发插件。
(4)容错性,不能因为框架本身的异常导致接口请求出错。
(5)通用性,除了接口统计这样一个需求,还可以适用到其他哪些场景中,比如SQL请求时间的统计信息、业务统计信息(比如支付成功率)等。
框架设计:
对于稍微复杂系统的开发,很多人觉得不知从何开始。可以借鉴TDD(测试驱动开发)和Prototype(小原型)的思想,先聚焦于一个简单的应用场景,基于此设计实现一个简单的原型。
把整个框架分为四个模块:数据采集、存储、聚合统计、显示。
接下来,就按照之前讲的面向对象设计的几个步骤,来重新划分、设计类。
(1)划分职责进而识别出有哪些类。
MetricsCollector类、MetricsStorage接口、Aggregator类、ConsoleReporter类和EmailReporter类。
(2)定义类及类与类之间的关系。
先在IDE中创建好这几个类,然后开始试着定义它们的属性和方法。在设计类、类与类之间交互的时候,不断地用之前学过的设计原则和思想来审视设计是否合理。
比如,是否满足单一职责原则、开闭原则、依赖注入、KISS原则、DRY原则、迪米特法则,是否符合基于接口而非实现编程思想,代码是否高内聚、低耦合,是否可以抽象出可复用代码等等。
(3)将类组装起来并提供执行入口。
有两个执行入口:一个是MetricsCollector类,提供了一组API来采集原始数据;另一个是ConsoleReporter类和EmailReporter类,用来触发统计显示。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。