Ste*_*eAp 1 macos service soa cocoa objective-c
假设我想将应用程序分解为功能部分.例如,客户数据管理部分,文本格式化部分,发票部分.我更喜欢这样的部分在某种程度上简单但完整的应用程序.
此外,假设我想设计零件,可以在新的或其他应用中重复使用.例如,客户数据部分可以在CRM解决方案中使用,但也可以在发票应用程序中使用.
我正在寻找像复合文档 架构这样的东西.
问题...
可能更简单的问题......
假设我有两个应用程序A
和B
.为某些相关数据B
提供编辑器B
.假设B
编辑器完全包含在NSView子类中.因此,编辑控件完全包含在子类中.
我的目标是不是住嵌入任意的东西B
在A
.可以通过仪器A
和B
某种通用协议进行检测.
出于兴趣...
我知道Cocoa的分布式对象技术,它允许应用程序相互通信,即使它们在不同的计算节点上运行.但由于DO只提供传输机制,因此它不是我的高级分解问题的解决方案.
虽然应用程序可以注册要从其他应用程序调用的URL方案,但它们不能提供足够的功能 - 因为URL是从调用者到被调用者的一种方式.看到这里和这里.
Apple提供了此Plug-In Architectures文档 - 但重点关注一个应用程序自己的插件.此外,Apple的CFPlugin文档也可能是有意义的(仍然有效吗?).
Matt Gallagher简要概述了在Cocoa中聆听,观察和通知的五种方法中的各种选项.除了通过NSDistributedNotificationCenter发送通知外,所有选项都是应用程序本地的.因此,Apple文档通知编程主题是有意义的,但更多的是作为al ow-level对象传输机制.
我很确定,几年前,一群软件开发商/公司试图在Cocoa级别实现某种动态数据交换.他们的框架并非来自Apple.不幸的是,我不记得他们的框架名称.
被影响...
我的问题受到Android SDK 意图的影响.引文:
'Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟运行时绑定.它最重要的用途是发起活动,它可以被认为是活动之间的粘合剂.它基本上是一个被动数据结构,包含要执行的动作的抽象描述.
非常松散的相关......
如果您使用的是OSX Lion 10.7,则应尝试查看XPC服务.您可以在同一个Xcode项目中拥有不同的XPC服务和主应用程序可执行文件.我们的想法是模块化您的设计,并为每项服务提供自己的系统权限.您还应该能够在项目之间共享这些XPC服务.应用程序通过Grand Central Dispatch通过进程间通信与XPC服务进行通信.
事实上,如果您要创建一个您打算在App Store中销售的应用程序,Apple会鼓励您使用XPC进行权限分离.有一个Apple沙箱教程可以帮助您开始使用XPC的示例项目,如果您从一开始就遵循,那么您将获得一个很好的示例.
当然,权限分离并不是分解应用程序以使用这些服务的唯一原因.我认为它非常适合你想要实现的目标.我认为可以将UI放入服务中,但从未尝试过.我想,无论用户界面如何,在服务和应用程序之间来回交谈应该是一样的.
归档时间: |
|
查看次数: |
992 次 |
最近记录: |