这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要介绍设计的这款框架它的架构设计要求。

    轻量级是这个框架的设计要求,但是要达到真正的模块化却变得十分繁重。最后很可能导致轻量级变成重量级。因此在框架的边界设计变得尤其重要。首先明确一下设计 Hasor 的目的:

    1.用于Java应用程序开发,包括但不限于Web应用程序。
    2.基于主流的 IoC/Aop 模式下的开发。
    3.采用注解化开发,使用配置文件支持程序动态配置部分列如:“拦截范围”、“路径”等。
    4.支持定义模块,并提供模块的依赖管理。
    5.要有灵活的扩展接口,方便为后续各类应用程序开发。
    6.轻量化设计。

要求:
    1.框架后续的所有扩展都以模块形式提供。
    2.模块和模块之间可能存在依赖关系,框架要能够方便的对模块依赖进行支持。
    3.不考虑 OSGi 的插件体系作为原型,能够做到按照模块依赖顺序进行排序即可。
    4.IoC/Aop 应当是支持的基础,就这一点看来 Spring 的体系是值得借鉴的。
    5.配置文件解析做到最简,最好开发者可以不开发任何解析器而读取 Xml 中自定义配置。
    6.要有完备的日志收集功能。
    7.架构上要分为两个层次去设计:核心层、模块层。
    8.可以通过搭配不同的模块支持各类应用开发。
    9.从结构设计上来看更像是 Spring 的翻版。需要注意 IoC/Aop 应当只是设计中的一部分,而非全部。
    10.在最小依赖和零依赖的前提下。尽量摘取成熟框架的代码,避免重复造轮子。

软件各部分功能布局结构应当是下面这种方式:

深度学习轻量化是指参数轻量化吗 轻量化要求_java

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