资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
Java中的IoCC:一级模块全文共2103字,预计学习时长7分钟来源:Pexels这次,小芯会介绍比往期所提到的一类程序类型更通用的模块类型系统。大家准备好了吗?注意:一些函数式编程语言也试图定义一级模块。本文中定义的一级模块是从反向函数创建的。一类程序一类程序的类型定义如下。注意,我们排除依赖项类型,因为依赖项是自动连接的。FirstClassProcedureType ClassparameterType;ContinuationType continuations;ContinuationType String name;ClassargumentType;一类程序的定义,就是有一个输入参数和多个连续输出,能够进一步组合逻辑和处理异常。模块对于一类程序中的方法、函数等,一个输入和多个输出是很好的。然而,系统升级时,不应是输入/输出随之更复杂,而是希望输入/输出提供接口进行封装降低复杂度。请注意,没有封装,就无法将应用程序的复杂性模块化。若激活模块接口,请创建以下输入/输出类型:InputType String name;ClassparameterType;OutputType String name;ClassargumentType;为了说明为什么要创建这些类型,笔者将使用反向耦合控制的可视化配置来帮助大家理解。以下模块配置由一类程序控制,表示单个输入,后输出结果:在上述配置中,一类程序封装在模块中。模块所展示的只是输入和输出。上述模块的结果类型如下: 名为“Input”的输入,参数传递给一类程序 名为“Output”的输出,参数由一类程序执行的结果提供然而,这对一类程序接口没有什么改进。有用的是封装多个一类程序以实现模块的功能:虽然模块中包含了新的程序,但其接口没有变动。使用该模块的其他配置不会意识到另一个第一类过程的内部添加。不必局限于单一的输入和输出。可以有一个任意复杂的模块,它有多个输入和输出:生成的模块将细节封装为具有以下接口: 输入“Input” 输入“输入-2” 输出“输出” 输出“输出-2” 输出“输出-3”模块类型形成的模块类型如下:SectionType InputType inputs;OutputType outputs模块(段)有多个输入和多个输出。这些输入/输出可以跟其他模块的相应输出/输入链接起来。此外,模块本身可能包含其他模块。由于输入/输出连接用于组合,模块具有与第一类过程相同的输入/输出连接。下图配置演示如何将本文开头的模块嵌入到另一个模块中:无论是包含一个或两个一类程序的模块,第一类过程都是封装的,在上述配置中不受关注。模块的使用仅限于模块公开的输入/输出。模块的其余部分被封装。这允许对应用程序的复杂性进行模块化。来源:Pexels一级模块标题是“一级模块”,但我们只讨论了将模块可视化地连接在一起。要想是“一级”,需要将模块分配给一个变量,当然还有其他条件。不过对我来说,这是最简单的思考一级类的方式。上述图形配置是在以编程方式配置在一起的部分(模块)上构建的。图形配置实际上是一级模块(节)之上的一层,以便更清楚地展示应用程序是如何模块化的。本文使用的上述图形配置的OfficeFloor实现中可以看到这一点。上面的图形配置是通过一个“活动”实现的。活动是节的特定专门化(ActivityLoaderImplsource)。该活动将XML从图形配置转换为节的创建、一类程序、输入和输出。操作的过程中每一个都被分配给变量、存储在数据结构中、传递给函数、从函数返回等,真正让节(模块)属于“一级”这种基于连续性的输入/输出接口是非常灵活的,因此一类程序本身也只是一个节的特定化操作(参见ProcedureEmployer)。总结来源:Pexels已经见证了如何在一级模块中封装一类程序,以及自身封装一级模块。文章也展示了图形配置到底是怎么利用“第一类”特性的。图形配置实际上是一个更高级别的组合,它提供了: 易于理解应用程序的模块化 更快地配置应用程序(有效地只是为合成画线)注意,以编程方式配置应用程序是完全可能的。然而,这需要更深入地理解一级过程/模块比初级开发人员最初可能希望的要多得多。因此,一级模块的图形化配置为构建模块化应用程序很简单,不必应对底层结构的复杂性。而其他组合策略仍有问题。之后有机会,我们接下来将研究一级模块如何提供不同的现有组合策略的组合。至此,你可能会发现,现有的组合策略只考虑了小范围的编程,范围扩大,一级模块在模块化和简化应用程序方面变得更加有效。留言 点赞 关注我们一起分享AI学习与发展的干货欢迎关注全平台AI垂类自媒体 “读芯术”(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号