问题标签 [cop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3600 浏览

architecture - 面向复合的编程 (COP)、.NET 4.0、MEF 和 Oslo 存储库

过去一年,.NET 社区 (ala Qi4j ) 似乎对 COP 产生了一些兴趣。一些人已经推出了自己的 COP 框架(请参阅下面的链接),看起来 .NET 4.0 的 Dynamic Dispatch 和 MEF 可能在任何 .NET COP 框架中都有潜在的作用。

一方面,其中很多似乎可以追溯到 System/38 天的想法(是的,我是个老家伙),但另一方面,它似乎也很适合奥斯陆(建模和存储库)。谁能评论微软是否在 COP 上做任何工作?

最近的一些 .NET COP 框架工作:

亨德利·卢克 -滚动你自己的 COP

Yves GoEleven.com -警察 - 概念证明

安德斯·诺罗斯 -把戏还是特质?使用 C# 进行面向复合的编程

Magnus Mårtensson - Unity 应用程序块上的面向复合的编程峰值

0 投票
2 回答
3574 浏览

abstract-class - 抽象类和 Mixin 有什么区别?

我刚刚发现一篇关于 Java 框架的文章,它显然允许它支持Mixins和一种叫做面向复合编程的东西(据我所知,这甚至可能是同一件事......)我也听说过/使用过 AOP,而且我不确定它与此有何不同...

0 投票
6 回答
3504 浏览

java - 任何使用 Qi4J 的人

早些时候,我正在阅读 InfoQ 关于面向复合编程的文章:

http://www.infoq.com/articles/Composite-Programming-Qi4j

我很想知道是否有人目前正​​在使用(或曾经使用过)Qi4j框架?

它与使用传统的依赖注入框架(例如 Spring)将类连接在一起相比如何。从维护的角度来看,生成的对象图(基于 mixins 而不是类)是否更容易处理?

0 投票
5 回答
7424 浏览

c# - 使对象在代码中动态实现接口

我想让这个测试通过 - 有人知道怎么做吗?

我想这样的事情可以用城堡动态代理、linfu等来完成……但是怎么做呢?

0 投票
1 回答
168 浏览

serialization - 序列化组合对象

我认为面向复合编程和 DCI 是在 rest 框架中使用的有趣技术,但遇到了问题。是否可以序列化 mixin 对象并获取它的所有属性?例如:

假设我们创建了一个 CarComposite 对象,上面的两个类作为 mixins。我可以反序列化这个 CarComposite 类以获得以下 xml 吗?:

我很好奇这通常是如何处理的,但要密切关注.NET,因为您无法反序列化接口。

0 投票
2 回答
1168 浏览

objective-c - Objective-C 和组件编程

我正在尝试在编写我的 iOS 游戏时实现组件编程的概念。

在 Clemens Szyperski 的《组件软件:超越面向对象编程》一书中,他提到了一种策略:

(不是引用)从添加组件 Quack 的 Duck 类开始。Quack 类在调用它的任何对象上实现一个接口,该接口指定一个使用 Quacks quack() 的方法

使用此设置,Duck 对 Quack 没有任何参考或认识,除非它被实例化,并且此后从未在 Duck 中使用过。其他对象可以调用 duckObject.quack() 并在只知道 Duck 对象的情况下到达 Quack。

到目前为止,我一直在尝试实现这一点,但没有成功。最好,Duck 只需要实例化代码,其余代码放在 Quack 类中。这可以在 Objective-C 中完成(对于 iOS?),还是我最好离开 COP 使用其他语言?

0 投票
2 回答
542 浏览

scala - Scala中基于角色的编程框架/面向复合的编程框架

我可以从哪里获得 scala 中的面向复合编程框架——Qi4j 或类似的?

供参考:www.qi4j.org

什么是 Qi4j™?- [简介取自www.qi4j.org]

简短的回答是 Qi4j™ 是一个以领域为中心的应用程序开发框架,包括从 AOP、DI 和 DDD 演变而来的概念。

Qi4j™ 是面向复合编程的实现,使用标准的 Java 5 平台,不使用任何预处理器或新的语言元素。您在 Java 5 中所知道的一切仍然适用,并且您可以利用您的经验和工具包来提高今天的面向复合编程的生产力。

此外,Qi4j™ 支持 Java 平台上的面向复合编程,包括作为主要语言的 Java 和 Scala,以及作为桥接语言在 JVM 上运行的许多语言。

0 投票
0 回答
775 浏览

operating-system - 在 IPC 中这些形式的消息传递有什么好处?

直接与间接通信以及同步与异步通信?

在直接通信中,它给出了您正在与之通信的进程的名称,例如发送(目标进程,消息)和接收(源进程,消息)。一个链接恰好有一对通信进程。在每一对之间恰好存在一个链接,它可能是单向的,但通常是双向的。

间接通信有一个唯一的 ID,进程只有在共享一个邮箱(也称为端口)时才能进行通信。在通信期间,仅当进程共享一个公共邮箱时才建立链接。该链接可能与许多进程相关联,并且每对进程可能共享多个通信链接,这些链接可以是双向的,也可以是单向的

同步被认为是阻塞的。阻塞接收使接收方阻塞,直到消息可用,阻塞发送使发送方阻塞,直到收到消息。对于阻塞发送/接收,这称为集合点。

异步也称为非阻塞。对于异步/非阻塞发送,发送者发送消息并继续。对于非阻塞接收,它让接收者接收到有效消息,否则它变为空。

0 投票
2 回答
325 浏览

ruby - Ruby反射组合:从重新定义的方法调用原始方法

先介绍一下上下文

我有一个Phone定义这样的方法的advertise类:

我想对这种方法进行一些修改。例如,当用户处于安静的环境中时,手机应该振动而不是响铃。为此,我定义了类似的模块

然后我的程序可以做

当然,对于这个例子,我硬编码了类和模块的名称,但它们应该是函数的参数。

因此,执行示例将给出:

终于来回答我的问题了

我想要一个调用原始函数并在其结果中附加一些内容的改编。我想这样写

但我不知道proceed调用应该做什么,甚至我应该在哪里定义它。

  • 我在 Windows 上使用 Ruby 2.3.0。
  • proceed可以用其他东西代替,但我想在定义适应的模块中尽可能保持干净。
0 投票
3 回答
1036 浏览

c - 在C中复制指针(矩阵)值的指针

问题如下:我创建了一个动态矩阵,使用指针指针matrix1

我想将此矩阵的副本创建到另一个中,matrix2

我想这样做,这样我就可以在不搞砸的matrix2情况下搞砸matrix1 所以我尝试执行以下操作:

但是程序中断并显示以下内容:错误

我知道,从外观上看,使用该功能create_matrix两次会更容易, formatrix1和另一个 for matrix2。但是在我的原始程序中,这将是太多的工作,因为我做了很多事情来完成矩阵。哦,顺便说一句,我想避免使用 C++,有没有办法在不使用它的情况下做到这一点?对我来说会更好。

代码“create_matrix”如下: