当前位置:网站首页>Prism framework
Prism framework
2022-06-26 03:44:00 【yuyue5945】
Prism Framework application - Basic knowledge
Prism Frame concept
prism was the code name for the guidance formally known as the Composite Application Guidance for WPF and Silverlight. For brevity and conciseness, and due to customer demand, this guidance is now referred to simply as Prism.
Prism Used to develop multiple interfaces 、 Rich data and interactive features WPF and Silverlight The specific presentation and business logic of the application .
Prism The purpose of the framework application is
- Decoupling between modules
- UI Decouple from background development
- Reduce functional coupling at the beginning of programming
Prism Frame details
Frame diagram
Introduction to framework module
Modoules:Modules Is able to independently develop 、 test 、 Deployed functional units ,Modules Modules that can be designed to implement specific business logic ( Such as Profile Management), It can also be designed as a module to implement a common infrastructure or service ( Such as Logging、Exception Management)
Module Catalog: stay Prism in ,Module Catalog It is indicated that Load Which? Module, In what order Load these Module.
Shell:Shell It's the host application (host application),modules Will be load To Shell in .Shell Defines the overall layout and structure of the application , And don't care about the boarders Module,Shell It is usually implemented in general application service and infrastructure, The logic of application is realized in the concrete Module in , meanwhile ,Shell It also provides a top-level window for the application .
Views:Views It's a view that shows specific functions in the application , It shows UI、 Define interaction behavior , And through data binding with ViewModel Interact .
Regions:Regions It's the app UI The logical region of , It's very much like a PlaceHolder,Views stay Regions Show , Many kinds of controls can be used as Region:ContentControl、ItemsControl、ListBox、TabControl.Views Can be in Regions Programming or auto rendering ,Prism Also provided Region Navigation support .
Navigation:Prism Support two kinds of navigation :state-based Navigation and view-switching Navigation .
EventAggregator: Components usually communicate with other components or services . So ,Prism Provides
EventAggregator Components , This component implements pub-sub Event mechanism , Allow some components to publish Events , Other components subscribe to events without a reference between the two components .
Dependency Injection container:Prism Use dependency injection pattern to manage dependencies between components ,Prism Designed to use Unity、Mef And so on .
Services:Services It's used to realize non UI The logic of the relevant functions , for example logging、exception management、data access.Services Can be defined in an application or Module in ,Services Usually registered in a dependency injection container , Make it easy for other components to locate this service .
Controllers:Controller Used to control in Region Which one of them View Will be presented , Control this at the same time View Creation and initialization of .
MVVM Related modules
View Model and Presenters:View Model To encapsulate an application UI Logic and its state .
Model:Model Is used to encapsulate data and corresponding validation , And relevant business rules to ensure the consistency and correctness of the data .
Commands:Command Is used to encapsulate application functions ,Prism Provides Delegate Command and CompositeCommand Two classes .
Bootstrapper:Bootstrapper To initialize application level components and services , It is also used to configure and initialize module catalog and Shell Of View and View Model. The function is shown in the figure :
To configure and initialize module catalog and Shell Of View and View Model. The function is shown in the figure :
边栏推荐
- 小程序或者for循序要不要加key?
- Multimedia elements, audio, video
- 2022.6.25-----leetcode. Sword finger offer 091
- Group note data representation and operation check code
- MySQL开发环境
- 虫子 拷贝构造 运算符重载
- Is it safe for individuals to buy stocks with flush software? How to buy stocks
- JS to achieve the effect of text marquee
- “再谈”协议
- Procédures stockées MySQL
猜你喜欢
When the tiflash function is pushed down, it must be known that it will become a tiflash contributor in ten minutes
Drag and drop
Cultivate children's creativity under the concept of project steam Education
Qt 中 deleteLater 使用总结
Xgboost, lightgbm, catboost -- try to stand on the shoulders of giants
Non H5 end of uni app, regional setting of status bar on the top of mobile phone
点击事件
【哈希表】很简单的拉链法哈希结构,以至于效果太差,冲突太多,链表太长
【哈希表】改进,拉链法哈希结构——直接用两个索引查找,不用每次都hash和%一遍
[paper notes] learning to grasp with primitive shaped object policies
随机推荐
Cliquez sur le bouton action de la liste pour passer à une autre page de menu et activer le menu correspondant
Dynamic segment tree leetcode seven hundred and fifteen
When the tiflash function is pushed down, it must be known that it will become a tiflash contributor in ten minutes
显卡、GPU、CPU、CUDA、显存、RTX/GTX及查看方式
评价——层次分析
2022.6.25 - leetcode. Un doigt d'épée. 091.
进度条
MySQL stored procedure
Kotlin learning apply plugin: 'kotlin Android extensions‘
Group note data representation and operation check code
Classic model – RESNET
[paper notes] learning to grasp with primitive shaped object policies
Cultivate children's creativity under the concept of project steam Education
Drag and drop
智能制造学习记录片和书籍
路由跳轉之點擊列錶的操作按鈕,跳轉至另一個菜單頁面並激活相應的菜單
XGBoost, lightGBM, CatBoost——尝试站在巨人的肩膀上
开通基金账户是安全的吗?怎么申请呢
js实现文字跑马灯效果
请求对象,发送请求