YY极速版模块通信
2016-07-18 18:13:46 0 举报
YY极速版模块通信是一种高效的信息传输方式,它通过模块化的设计,使得各个模块之间的通信更加便捷、快速。这种通信方式可以有效地减少信息传输的延迟,提高系统的运行效率。在YY极速版中,各个模块可以根据需要选择使用不同的通信方式,如TCP/IP、UDP等,以满足不同的通信需求。此外,YY极速版还提供了丰富的API接口,方便开发者进行二次开发和集成。总的来说,YY极速版模块通信是一种强大而灵活的通信工具,能够为各种应用提供稳定、高效的通信支持。
作者其他创作
大纲/内容
ViewModel
View
Msg分发中心,Controller之间点对点发送消息;
通知中心,类似于系统的广播,用来广播本模块的一些状态:如登录模块-登录成功、登出;通用状态,多方关心,采用通知中心
Controller
SubController2
1 Msg驱动:span style=\"font-size: inherit;\
Window
Service
ServiceManagerManager
SettingController
UI常见的几种结构设计及原则
....
业务庞大的UI模块,需要抽象/抽离分成多个独立模块、主+子模块:优先采用完全独立的模块(如:Controller2、Controller3),其次是:主+子模块(Controller1,常见的存在1:N管理关系的场景)
1 不允许一个模块直接给另外一个模块的子controller发送消息,必须是发送事件给总controller,让总controller去处理/分发;原因:类似左边,各个子模块所处于的状态及依赖,只有总controller才清楚,只有总controller才能更正常的操作协调子模块;2 这里的VModel,是视图适配器(处理UI操作与数据刷新等),属于模块UI控制层;和我们倡导数据Service是两个东西,service负责数据抽象、建模、管理(从服务端/文件读取、解析、更新等),属于数据服务层;
SubController
view
FriendController
Handler1
MsgDispatcher单点
Controller1
ControllerOne
.........
UI 层
大部分UI 模块结构
UI层:模块最直接的体现层,负责业务模块界面展示/操作响应/交互跳转、UI控制逻辑处理等(如:首页、个人中心等)Service:负责数据抽象、建模、管理(从服务端/文件读取、解析、更新等),常见的2种服务:(1)通用基础服务,偏能力的支持,如:文件上传云服务、Web服务、Uri跳转服务、分享、送礼等;(2)数据治理服务,偏场景数据的建模,如:频道服务模块,游戏数据服务模块等;Data/KVO:纯数据结构,通过KVO实现数据驱动界面,保证界面一致性;三部分各司其职、职责分明;Service、Data均由base层和实现层两部分组成,进行充分解耦
NotificationCenter1:多
VModel
倡导的业务UI模块结构图1 模块优先采用独立方式,复杂模块可以将独立的部分抽出去组成完全独立的模块,尽量避免建立“主+子”模块结构;例如:频道列表模块和频道关注列表模块,就是两个独立的模块,不附属于任何大的模块;2 模块之间的通信,通过msg进行通信,进行解耦;
Handler3
Window2-N
FeedController
模块UI层结构图
Data KVO
App通信机制
服务/数据层
Messegae
MsgDispatcher:消息分发
Handler2
SplashController
ControllerTwo
一些UI复杂的模块:可以分多个window
1 不允许一个模块直接操作另外一个模块的view/VModel,必须是发送事件给controller,让controller去处理;原因:模块要内聚,如果没有一个统一的管理者,view/VModel都能被任意地方操作,会导致失控:外部的多个调用方式不知道对方存在的,也不知道模块内部处于的情况,他们之间的调用可能相互产生影响;
模块结构图
HomePageController
AbsController
Controller3
PanelManager:panel显示管理
Controller2
AbstractWindowManager:窗口管理push/pop Window
0 条评论
下一页