On the 3rd Tuesday of the month two very interesting Special Interest Groups (SIGS) from the TRIangle .Net Users Group meet. Both sessions were excellent tonight and here are some of the highlights:
The Web Development SIG lead by Chris Love of Extreme Web Works took a code level look at exception handling. Chris walked us through some code examples and shared some best practices that he has developed based on real world experiences. Some things we covered were:
One of the things Chris shared was the following code that he uses to programmatically capture the contents of all control on a form to include in an error report.
Dim _control As ControlDim ErrorDescription As New System.Text.StringBuilderFor Each _control In Page.Controls 'Find the HTML Form Control If _control.GetType.FullName = "System.Web.UI.HtmlControls.HtmlForm" Then Dim _ctr As Control ErrorDescription.Append("Controls -------------" & vbCrLf) For Each _ctr In _control.Controls 'For each control on the form, pull the appropriate content for 'it's defined type. Select Case _ctr.GetType.FullName Case "System.Web.UI.WebControls.TextBox" Dim tb As TextBox = CType(_ctr, TextBox) ErrorDescription.Append(tb.ID & " - " & tb.Text & vbCrLf) Case "System.Web.UI.WebControls.Literal" Dim ltl As Literal = CType(_ctr, Literal) ErrorDescription.Append(ltl.ID & " - " & ltl.Text & vbCrLf) Case "System.Web.UI.WebControls.Label" Dim lbl As Label = CType(_ctr, Label) ErrorDescription.Append(lbl.ID & " - " & lbl.Text & vbCrLf) Case "System.Web.UI.WebControls.RadioButtonList" Dim rb As RadioButtonList = CType(_ctr, RadioButtonList) ErrorDescription.Append(rb.ID & " - " & rb.SelectedItem.Value & vbCrLf) End Select Next End IfNext
This was one of those great informative sessions that made us all think of things we could do better in our code.
The second group is the newly created Architecture And Patterns SIG lead by John Brady of Organelle. This group is very interesting because it is still in the process of defining it’s scope. The simple question of “What is architecture?” has turned into a very interesting topic. We quickly discovered that this term can mean a lot of different things to a lot of different people.
Part of the conversation led us to try and compare Software Architecture with more traditional Building Architecture. While some interesting parallels were drawn, it was very clear how unique software development can be from other “building’ projects. Another key issue was how far should architecture go before it becomes something else? And what is that something else officially, design? Implementation? Plumbing?
It was good to look back at some of the different models including the initial move to Object Oriented Development, Client/Server and Web based, to the current visions of a Service Oriented Architecture. In the end we decided to do a little research for next month about how Industry, Open Source, and Academics define SOA. Hopefully some comparisons will allow us to see their views on architecture and compare the differences.
I really enjoyed this session and look forward to seeing where things take us as we proceed through architecture and make our way through patterns. This is a fun, code neutral group and encourage anybody interested in this area to make it out and join in. More information about the TRINUG SIGS can be found on the group website.