Presentation is loading. Please wait.

Presentation is loading. Please wait.

#SPSSAN June 30, 2012 San Diego Convention Center WRITING TESTABLE CODE In SharePoint.

Similar presentations


Presentation on theme: "#SPSSAN June 30, 2012 San Diego Convention Center WRITING TESTABLE CODE In SharePoint."— Presentation transcript:

1 #SPSSAN June 30, 2012 San Diego Convention Center WRITING TESTABLE CODE In SharePoint

2 #SPSSAN Agenda Introduction Repository Pattern IoC and Dependency Injection Patterns Model View Presenter Pattern Unit Testing strategies Summary

3 #SPSSAN Introduction Tightly-coupled SharePoint Code Difficult to test Web Parts and Pages Need a better way to organize the code The answer: Design Patterns!

4 #SPSSAN What is the Repository Pattern? Isolates the domain model from data access Encapsulates the domain object persistence Persistence Ignorance is bliss! Works well when used with interfaces…

5 #SPSSAN

6 What is IoC? Inversion of Control Depend upon abstract types, not concrete types

7 #SPSSAN Benefits of Inversion of Control Can swap out implementations later (such as different repositories) Allows parts of the application to be built independently with no complicated dependencies Can work in ASP.NET and switch over to SharePoint later

8 #SPSSAN What is DI? DI = Dependency Injection One solution to the problem instantiating abstract types Available DI frameworks Castle Unity MEF Etc.

9 #SPSSAN Benefits of Dependency Injection Can write more granular unit tests Don’t need to hit the database for testing UI logic Allows parts of an application to be easily swapped out without re-compiling Using a DI framework makes it almost seamless!

10 #SPSSAN

11 Model View Presenter Pattern Gets the logic out of your UI so it can be tested! Forced separation of concerns Can enable UI logic to be shared Side Point: Why not use MVC in SharePoint?

12 #SPSSAN

13 Unit Testing Strategies Test the presenters separately Use mock views and mock repositories when testing the presenters Test the concrete repositories separately

14 #SPSSAN

15 Summary Design Patterns are the key to better SharePoint code! Repository, IoC and DI patterns make testing way easier MVP pattern gets the logic out of your UI code

16 #SPSSAN June 30, 2012 San Diego Convention Center GET THE SOURCE CODE! Source Code Link

17 #SPSSAN June 30, 2012 San Diego Convention Center CONTACT INFO Tim McCarthy tim.mccarthy@perficient.com

18 #SPSSAN The After-Party : SharePint Karl Strauss Brewing Company 1157 Columbia Street San Diego, CA 92101 Phone: 619-234-2739 Immediately following event closing & prize drawings (@6:30 pm) Directions (.9 miles): 1. Head northeast on 1st Ave 2. Turn left onto W B St 3. Turn left onto Columbia St Karl Strauss will be on the left

19 #SPSSAN June 30, 2012 San Diego Convention Center THANK OUR SPONSORS Please be sure to fill out your session evaluation!


Download ppt "#SPSSAN June 30, 2012 San Diego Convention Center WRITING TESTABLE CODE In SharePoint."

Similar presentations


Ads by Google