标签: modularity

共享MEF部件/导出模块之间的可重用性

我正在写一个WPF MEF应用程序.在过去,我已经编写了基于WPF IoC的应用程序,并使用PRISM构建代码模块,如下所示:

  • Shell - 主要可执行文件
  • BusinessArea.Module.Interface - 包含BusinessArea模块的Services,ViewModel和Views的所有接口.
  • BusinessArea.Module - 包含PRISM IModule的实现,并实现BusinessArea.Module.Interface项目中的接口.
  • OtherBusinessArea.Module.Interface - 另一个模块
  • OtherBusinessArea.Module - 另一个模块接口

在IoC领域,每个模块在加载时都会使用IoC容器注册其组件.如果我希望我的两个模块能够重用彼此的组件,他们只需要引用我的一个接口项目并注入组件.

但是在MEF中,我无法找到任何将部件分离到模块中以及这种类型的模块间组件重用的良好实践或指南.我有五个问题:

  1. 我应该继续为我的所有部件创建接口吗?
  2. 我应该在整个应用程序中有一个共享容器,还是每个模块有一个共享容器(每个模块都是从Windows 8样式的开始菜单启动的单独应用程序).
  3. 如果一个模块想要使用另一个模块中的一个部件,我该如何保持分离.
  4. 如果一个模块想要在另一个容器中使用一个部件,我该如何保持分离.
  5. 如何在具有大量模块的应用程序中最好地保持性能.

modularity mef ioc-container inversion-of-control unity-container

2
推荐指数
1
解决办法
1494
查看次数

同一站点下的多个 Django 应用程序

我正在考虑使用 Django 和 MySQL 数据库创建一个内容交付 Web 应用程序,在阅读了一些文档后,我注意到可以在同一个项目/站点目录中创建多个应用程序。

它可能适用也可能不适用于我想做的事情,但我想知道这种架构背后的动机是什么。为什么我要在一个站点中使用多个 Web 应用程序?

例如,Youtube 是围绕 Django 框架构建的,但整个体验作为一个应用程序无缝运行?Youtube 实际上是一个大型 Web 应用程序,还是该项目将许多应用程序打包为一个产品?如果是这样,为什么这是一个更好的选择?

python django modularity web-applications

2
推荐指数
1
解决办法
5068
查看次数

我应该在哪里存储我的 React 可重用组件?

我有几个 ReactJS 项目,并且开始拥有很多可重用的组件。我不想将它们发布到npm或将它们与项目根目录下导入的 node_modules目录混合。他们应该去哪里?

我的项目如下所示:

  • 项目1/
    • 节点模块/
    • 源代码/
      • 索引.js
      • A.jsx
  • 项目2/
    • 节点模块/
    • 源代码/
      • 索引.js
      • A.jsx

A.jsx定义了一个可重用的组件,我只是将文件复制到任何地方......我只想将它放在一个地方,我的项目将它与import A from 'A'.

我尝试创建到A.jsxinsrc/或 in 的符号链接node_modules/,但无法编译,就像react-scripts无法处理它们一样。您是如何解决这个问题的?感谢您的帮助!

javascript modularity ecmascript-6 reactjs react-scripts

2
推荐指数
1
解决办法
464
查看次数

使用D.Knuth伪随机生成器

我需要编写一个物理模拟软件,我需要使用D.Knuth编写伪随机生成器,因为它最符合我的需要.

虽然我知道如何在一个硬代码块中使用它(仅仅是#include"rng-double.c"),但我还是不太明白如何将它包含在一个模块化的程序中,在主程序和在一些库中,然后我通过头文件链接回主.

我需要的唯一函数是ranf_start(seed)为种子生成种子,而ranf_arr_next()用于生成下一个数字.

我有很长一段时间了

multiple definitions of 'foo'
Run Code Online (Sandbox Code Playgroud)

几乎适用于随机数生成器代码中定义的每个函数.

我不是专家,所以我发现自己几乎走到了尽头.有出路吗?我目前正在尝试为rng编写头文件,尽管我还没有成功.

非常感谢大家.〜Ĵ

编辑:从第一个答案说,我需要whee头文件.我为生成器中的大多数函数做了它,但是我无法为实际生成数字的函数编写它.我应该如何为这样定义的函数编写标题?

#define ranf_arr_next() (*ranf_arr_ptr>=0? *ranf_arr_ptr++: ranf_arr_cycle())
Run Code Online (Sandbox Code Playgroud)

c random modularity

1
推荐指数
1
解决办法
1059
查看次数

如何在C中创建模块

我有一个接口,我希望能够静态链接模块.例如,我希望能够调用名为FOO的所有函数(虽然在单独的文件中)或匹配某个原型,最终调用文件中的函数而不在其他文件中使用标题.不要说这是不可能的,因为我发现了一个可以做到的黑客,但我想要一个非黑客攻击的方法.(黑客是使用nm来获取函数及其原型然后我可以动态调用函数).此外,我知道您可以使用动态链接执行此操作,但是,我想静态链接文件.有任何想法吗?

c modularity module static-linking

1
推荐指数
1
解决办法
1万
查看次数

Rails 3和RefineryCMS如何从同一个Git仓库管理和发布多个宝石?

我正在试验一个Rails应用程序的设计,它将大部分功能委托给高度专业化的引擎.但是,可能会有10个Engines左右,我绝对不想管理10个不同的宝石和Git存储库.

Rails和RefineryCMS似乎都安置他们在一个混帐回购所有子模块,但后来不知怎的释放他们作为独立的宝石,以及要求他们全部用-在Rails的情况下-一个简单的require 'rails/all'.

我当然浏览了源代码,但我可以使用更有经验的眼睛寻求帮助......任何人都可以告诉我这个多宝石,一个回购架构是如何工作的?

modularity ruby-on-rails rails-engines refinerycms ruby-on-rails-3

0
推荐指数
1
解决办法
409
查看次数

Zend Framework 2模块协作

我开始学习Zend Framework 2,并对这个框架的模块化系统非常感兴趣.
我想基于zf2创建自己的cms,但我遇到了zf2中关于模块协作的问题,让我们用一个例子清楚我的目的:

我使用zfcuser模块进行用户登录和注册,现在我想在这个模块上创建一个UserManagement模块来管理用户.

我希望在我的UserManagement模块中有一个分页列出用户,但我不知道如何实现这一点,编辑zfcuser模块和添加分页方法是针对软件工程方法而创建我的用户模型和实体是针对模块化系统的!

请帮我克服这个问题.

modularity zend-framework2 zfcuser

0
推荐指数
1
解决办法
138
查看次数

OSGI与Apache Felix

我必须为学校创建一个项目.我们想要创建一个监控传感器的系统.由于传感器发展很快,他们有可能在几年内使用其他传感器.要捕获该问题,我们希望创建一个允许用户编写插件来监控传感器的系统.

我正在寻找不同的框架,主要是OSGI.

有人能告诉我Apache Felix和OSGI之间的区别吗?OSGI还活跃吗?

谢谢!

java osgi modularity apache-felix

0
推荐指数
1
解决办法
747
查看次数

带有软件包的Java 9 Modularity

假设我有2个模块:

  • module1有包 package1

  • module2有package2,package3package4

我希望package1package2在module2中可见.不到module2中的任何其他包(package3package4).

这可能使用module-info.java吗?

java modularity module java-9

-1
推荐指数
1
解决办法
63
查看次数