Step 1) Do a little research. Google is a good start point
Step 2) Start coding
Step 3) Compile and use the debug to solve little issues
Step 4) When you get a problem you don't know how to solve
but at least you tried it, then come back and ask for something concrete with a snippet of the code giving problems
Sorry if this is not the answer you were looking for. But your question is a bit too wide to be answered at the "Quick" Answers. It is better and you get faster help if you make 10 concrete questions about concrete problems, than a big question about a "how-to guide"
P.S. Written as solution to avoid this "question" to be in the unanswered list
additional information added after comment
Googling: "separate business and ui model"
Interesting results:
http://stackoverflow.com/questions/3117809/separating-ui-and-logic-in-c-sharp[
^]
http://discuss.joelonsoftware.com/default.asp?design.4.42658.11[
^]
http://visualstudiomagazine.com/articles/2014/05/01/separating-the-ui-code-from-the-business-code.aspx[
^]
googling: "shared dll c#"
interesting results:
http://support2.microsoft.com/kb/815065/en-us[
^]
https://cygwin.com/cygwin-ug-net/dll.html[
^]
http://programmers.stackexchange.com/questions/141391/creating-a-shared-library-that-might-be-used-with-desktop-applications-and-web-p[
^]
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686958(v=vs.85).aspx[
^]
http://weblogs.asp.net/mnolton/5823[
^]
I know that the links are not exactly what you need, but they are a good start point to investigate and learn concepts. Afterwards you will have enough background to start asking what you really need to know in a way that the experts here will be glad to answer.