DevConnections Part 3 of ...

‘Sexy’ Extensibility Design and Patterns

 

“Programming to the interface” is important when addressing extensibility.

 

Provider Pattern – If you are familiar with asp.net then you have been beat over the head with this pattern enough that I won’t spent much time on it. If your not familiar with asp.net, I’ll give you 50,000ft view…… it allows for abstraction of data and behavior by using an interface that the client is aware of and an external class library that contains the actual implementation of whatever you are trying to do.

 

Plug-Ins – This is pretty straight-forward. Plug-ins are implemented in a way similar to modules below. The real difference is that you have to explicitly iterate through a list either from a configuration file or a pre-defined directory.

 

Modules – This was the most interesting pattern and basically defines multiple parts of extensibility in one class. Related patterns are Chain of Responsibility, Loosely Coupled Events and Interception Filter. This methodology is event-driven and in an extremely flexible manner allows modules to hook into the events. The modules are identified to the client or web app through a configuration file and are loaded using reflection.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

DevConnections Part 2 of...

Man I am so behind on getting my notes and thoughts typed up...I've been to over ten sessions and I only have two typed up. I should be able to catch up this evening. Tuesday was rather uneventful as I hit a string of so-so sessions. Without further ado here is my notes for the session on Spatial Support in SQL Server 2008.....

Spatial Support in SQL Server 2008

-          Spatial support is vector based and includes planar (Geometry) and geodetic (Geography)

-          SQL Server was expanded to allow large UDTs

o       In 2005, UDTs were limited to 5K

o       In 2008, UDTs are limited only by LOB size (around 2 gigs)

-          Geometry

o       Adheres to OGC/ISO standards

o       Can store points, lines, polygons and collections of the previously mentioned

o       Methods include relationship (intersects, disjoint), construction (intersection, union) and metrics (distance, area)

o       Sample:

DECLARE @g GEOMETRY

SET @g = GEOMETRY:PARSE(‘POINT(5.5 8.8)’)

 

-          Geography

o       Ellipsoidal data-type

o       Does not adhere to OGC/ISO standards

o       Same methods as Geometry class

-          Spatial Indexes: Uses multi-level grids to map multi-dimensional data into a 2-dimension index

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati