All Talk: Using the Mediator Pattern in .NET Framework -- Visual Studio Magazine



All Talk: Using the Mediator Pattern in .NET Framework -- Visual Studio Magazine

The mediator pattern is a common software design pattern that allows two classes to communicate without knowing about each other. What happens is that the two classes communicate via a mediator class and are only aware of the mediator. It's use becomes evident when the number of objects in your apps starts to grow and management of the classes starts to become unwieldy.

The core components of the mediator pattern are the mediator interface, the concrete mediator and the colleague classes. The mediator interface defines the contract by which the two colleague classes will communicate. The concrete mediator implements the mediator interface. And the colleague classes use the mediator interface to communicate. In a sense, the mediator class acts as a message bus between colleague classes.

To demonstrate the mediator pattern I'll create a simple Windows Store app that allows a user to send a message to one or many parties. The user will be able to register multiple users to the chatroom, then select from and to users for the message.

First, I add the IUser colleague interface. The IUser interface stores a chat user's name and messages. Furthermore, the interface allows a user to send and receive chat messages and it has an IChatroom instance:


Read full article from All Talk: Using the Mediator Pattern in .NET Framework -- Visual Studio Magazine


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts