Here is my Birthday blog post, as a part of FSAdvent - 2017. Just like previous two years, I hope you will enjoy this one too. Comments and corrections are very much welcomed. Why Chaat? and What is Chaat? If anyone wanted to show real time application, then Chat is kind of to-do list of that type of applications. Now Functional Chat is a very limited title and can’t show all the things I wanted to show.
Reactive word is not new nowadays. If you want your library to get limelight, use reactive word in the name any way possible and it will definitely get initial attention. Reactive word is appropriate for things that follows reactive manifesto. That is true for now. And there are many variant of libraries on server and client to fulfil this. Let’s start from the start of web. We were having old web were we used to do post event of page.
Whoever worked with Microsoft Shop knows about nuget. It is package manager for anything and everything related to .Net. And it is getting better and better with versions coming in. But again it is nowhere near maturity needed to work with projects having many small projects. Things get cranky soon. Now, there is better option as per my opinion called Paket. Very easy to get started. And so damn reliable. Couple of more command to learn but I guess it is ok.
Command pattern is a pattern which allows executor of the pattern to execute or playback the commands. In most of the application wherever Undo/Redo is implemented this pattern is used. Here is C# code. Now, in this code Command Pattern is not in its purest form. As, normally in command pattern we are saving state of outside object. Instead I just returned the result to mock out side object.
Another pattern that is widely used in Object Oriented world. And as far as .Net world is concern it is may be most used pattern in wide range of .Net API. And it heavily used in heavily used LINQ API. So, I guess giving a understanding of that is kinda waste of space. Have a look at C# code. People familiar with LINQ and lovers of Lambda will definitely argue that this is can be replaced by delegates.
The fun part working or explaining functional pattern is word functional can be used in very fun way. Just like it is used in title here. Now, factory pattern may be the most used pattern in Object Oriented world. Here is code in C#. Factory method is basically used to abstract away the object creation. I am not worried how object is created but I am worried about the behavior of the objects that are created.