<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6995845847209909549</atom:id><lastBuildDate>Mon, 29 Aug 2011 15:47:39 +0000</lastBuildDate><category>Non-Programming</category><category>c#</category><category>wcf</category><category>LINQ</category><category>SQL</category><category>agile</category><category>personal</category><category>Entity framework</category><category>family</category><category>asp.net</category><category>Methodology</category><category>Design Patterns</category><category>Programming</category><title>Srihari's blog</title><description>if(FreeTime &gt; 0) { Post in (.NET, Design, Architecture); }</description><link>http://sriharik.blogspot.com/</link><managingEditor>noreply@blogger.com (Srihari Kothapalli)</managingEditor><generator>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SrihariBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="srihariblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4881620254101643342</guid><pubDate>Mon, 25 Aug 2008 16:24:00 +0000</pubDate><atom:updated>2008-08-25T16:25:19.320Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>UDF for Splitting a varchar in SQL Server</title><description>set ANSI_NULLS ON&lt;br /&gt;set QUOTED_IDENTIFIER ON&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;CREATE FUNCTION [dbo].[Split]&lt;br /&gt;(&lt;br /&gt;@RowData nvarchar(2000),&lt;br /&gt;@SplitOn nvarchar(5)&lt;br /&gt;)&lt;br /&gt;RETURNS @RtnValue table&lt;br /&gt;(&lt;br /&gt;Id int identity(1,1),&lt;br /&gt;Data nvarchar(100)&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;Declare @Cnt int&lt;br /&gt;Set @Cnt = 1&lt;br /&gt;While (Charindex(@SplitOn,@RowData)&gt;0)&lt;br /&gt;Begin&lt;br /&gt;Insert Into @RtnValue (data)&lt;br /&gt;Select&lt;br /&gt;Data = ltrim(rtrim(Substring(@RowData,1,Charindex(@SplitOn,@RowData)-1)))&lt;br /&gt;Set @RowData = Substring(@RowData,Charindex(@SplitOn,@RowData)+1,len(@RowData))&lt;br /&gt;Set @Cnt = @Cnt + 1&lt;br /&gt;End&lt;br /&gt;Insert Into @RtnValue (data)&lt;br /&gt;Select Data = ltrim(rtrim(@RowData))&lt;br /&gt;Return&lt;br /&gt;END&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4881620254101643342?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/udf-for-splitting-varchar-in-sql-server.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-6009494325018162572</guid><pubDate>Tue, 19 Aug 2008 14:16:00 +0000</pubDate><atom:updated>2008-08-19T14:20:28.088Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><title>Sending email through SSIS (Script task)</title><description>&lt;p&gt;Sending email through VB.NET (Could be used in SSIS script task)&lt;/p&gt;&lt;p&gt;Dim mailMsg As System.Web.Mail.MailMessage&lt;br /&gt;mailMsg = New System.Web.Mail.MailMessage()&lt;br /&gt;mailMsg.From = "srihari@kothapalli.com"&lt;br /&gt;mailMsg.To = "srihari.kothapalli@gmail.com"&lt;br /&gt;mailMsg.Cc = ""&lt;br /&gt;mailMsg.Bcc = ""&lt;br /&gt;mailMsg.Subject = "This is subject at " + DateTime.Now.ToString()&lt;br /&gt;mailMsg.BodyFormat = System.Web.Mail.MailFormat.Html&lt;br /&gt;mailMsg.Body = "This is the body"&lt;br /&gt;mailMsg.Priority = System.Web.Mail.MailPriority.High&lt;br /&gt;System.Web.Mail.SmtpMail.SmtpServer = "smtp.kothapalli.com"&lt;br /&gt;mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")&lt;br /&gt;mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "kot\srihari")&lt;br /&gt;mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "srihar1pa33w0rd")&lt;br /&gt;mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "25")&lt;br /&gt;mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "false")&lt;br /&gt;System.Web.Mail.SmtpMail.Send(mailMsg)&lt;/p&gt;&lt;p&gt;Hope it helped.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-6009494325018162572?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/sending-email-through-ssis-script-task.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4735423456088301136</guid><pubDate>Mon, 18 Aug 2008 13:15:00 +0000</pubDate><atom:updated>2008-08-18T13:16:35.941Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Methodology</category><title>Mingle tool by ThoughtWorks</title><description>Agile Project Management Tool&lt;br /&gt;&lt;br /&gt;I was long wondering, how does the project management get automated in Agile practices with all the planning games being driven by a program instead of paper cards!!! Until I have seen one of my friends blogs – I did not realize that ThoghtWorks actually has a open source project management tool named “Mingle” to help this scenario.&lt;br /&gt;&lt;br /&gt;Find his blog entry here and download the Mingle here. Download has taken me around 30 seconds. It is really a quick download and installation has taken me around 1 minute. So, its quite good with the features its promising to deliver.&lt;br /&gt;&lt;br /&gt;It says it can not work with anything other than MySQL or PostGreSQL. It is a problem for me given that it is only SQL Server or Oracle that are the market leaders.&lt;br /&gt;&lt;br /&gt;However, just to explore the tool.. lets go forward a bit more.&lt;br /&gt;&lt;br /&gt;Downloaded the MySQL from here.&lt;br /&gt;&lt;br /&gt;Followed the steps below.&lt;br /&gt;&lt;br /&gt;1. Installed mySQL and used “create database mingle;” command in the command prompt of mySQL to create the database for setting up the Mingle on my localbox.&lt;br /&gt;2. Ran through all the 6 steps in the http://localhost:8080/install/migrate as needed by Mingle.&lt;br /&gt;3. Skipped the SMTP server details to fill in later&lt;br /&gt;&lt;br /&gt;Not to forget, we have lot of help in understanding Mingle at http://studios.thoughtworks.com/mingle&lt;br /&gt;&lt;br /&gt;When I started using this, as a website it looked quite good. Great thing about this is to be able to select the pre-defined template as below.&lt;br /&gt;&lt;br /&gt;• Agile hybrid template(2.0.1)&lt;br /&gt;This template represents a hybrid Agile approach to project tracking that would support release and iteration-based planning. The template includes some sample cards to illustrate the working of the charts and transitions. These stories can be deleted if necessary by a Project Administrator.&lt;br /&gt;• Scrum template(2.0.1)&lt;br /&gt;• Xp template(2.0.1)&lt;br /&gt;This template can be used to create an Extreme Programming (XP) project for a small team that needs basic card tracking capability and reporting. The template contains some sample stories to illustrate how one might use charts and transitions. These stories can be deleted by a Project Administrator.&lt;br /&gt;However, my research had to end here inspite of seeing all the really good tabs that says “sprint backlog” etc… Because most of the tabs keep giving me the error that says “error etc etc”.&lt;br /&gt;I will give another try on my home box and let you know if I get any success.&lt;br /&gt;But the summary is that today or tomorrow, it is going to get stabilized. It is a great news for Industry which is already behind agile approaches of software development.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4735423456088301136?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/mingle-tool-by-thoughtworks.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-6523012797182143973</guid><pubDate>Sun, 17 Aug 2008 17:58:00 +0000</pubDate><atom:updated>2008-08-17T18:06:12.376Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">Non-Programming</category><title>My kid being loved by my mother</title><description>&lt;a href="http://4.bp.blogspot.com/_sPvwzOtfY7U/SKhoidv44uI/AAAAAAAAAsc/2SVLgsOOtKE/s1600-h/35.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_sPvwzOtfY7U/SKhoidv44uI/AAAAAAAAAsc/2SVLgsOOtKE/s320/35.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5235549508128531170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_sPvwzOtfY7U/SKhnDICbZiI/AAAAAAAAAsM/xUcESDKwxRM/s1600-h/30.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sPvwzOtfY7U/SKhnDICbZiI/AAAAAAAAAsM/xUcESDKwxRM/s320/30.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5235547870213137954" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-6523012797182143973?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/my-kid-being-loved-by-my-mother.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_sPvwzOtfY7U/SKhoidv44uI/AAAAAAAAAsc/2SVLgsOOtKE/s72-c/35.bmp" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-3886706423375756244</guid><pubDate>Sat, 16 Aug 2008 12:38:00 +0000</pubDate><atom:updated>2008-08-16T12:40:01.435Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">Non-Programming</category><title>My brother started blogging !!!</title><description>Great news... My brother started blogging.. Reach him at &lt;br /&gt;&lt;br /&gt;&lt;a href="http://sureshkothapalli.blogspot.com"&gt;http://sureshkothapalli.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-3886706423375756244?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/my-brother-started-blogging.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4425228230152189688</guid><pubDate>Fri, 15 Aug 2008 13:24:00 +0000</pubDate><atom:updated>2008-08-15T13:29:03.888Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Design Patterns</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Job interview screening questions and answers</title><description>I was looking at my earlier mails and I found this bunch of questions and answers which I had to give for one of the interviews in London. Position was for a Lead Developer who would work in SCRUM/TDD practices of agile environment.
&lt;br /&gt;
&lt;br /&gt;&lt;html v="urn:schemas-microsoft-com:vml" o="urn:schemas-microsoft-com:office:office" w="urn:schemas-microsoft-com:office:word" xmlns="&lt;a href="&gt;http://www.w3.org/TR/REC-html40&lt;/a&gt;"&gt;
&lt;br /&gt;&lt;head&gt;&lt;meta equiv="Content-Type" content="text/html; charset=windows-1252"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="Intvw_Questions_files/filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="Intvw_Questions_files/editdata.mso"&gt;&lt;link rel="OLE-Object-Data" href="Intvw_Questions_files/oledata.mso"&gt;&lt;!--[if !mso]&gt;&lt;style&gt;v\:* {behavior:url(#default#VML);}o\:* {behavior:url(#default#VML);}w\:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}&lt;/style&gt;&lt;![endif]--&gt;&lt;title&gt;Nokia Standard Document Template&lt;/title&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;o:documentproperties&gt;  &lt;o:author&gt;Kothapalli Srihari&lt;/o:Author&gt;  &lt;o:lastauthor&gt;Kothapalli Srihari&lt;/o:LastAuthor&gt;  &lt;o:revision&gt;1&lt;/o:Revision&gt;  &lt;o:totaltime&gt;2&lt;/o:TotalTime&gt;  &lt;o:lastprinted&gt;1997-09-02T16:43:00Z&lt;/o:LastPrinted&gt;  &lt;o:created&gt;2008-08-15T13:25:00Z&lt;/o:Created&gt;  &lt;o:lastsaved&gt;2008-08-15T13:27:00Z&lt;/o:LastSaved&gt;  &lt;o:pages&gt;1&lt;/o:Pages&gt;  &lt;o:words&gt;2516&lt;/o:Words&gt;  &lt;o:characters&gt;14344&lt;/o:Characters&gt;  &lt;o:company&gt;Nokia Oyj&lt;/o:Company&gt;  &lt;o:lines&gt;119&lt;/o:Lines&gt;  &lt;o:paragraphs&gt;33&lt;/o:Paragraphs&gt;  &lt;o:characterswithspaces&gt;16827&lt;/o:CharactersWithSpaces&gt;  &lt;o:version&gt;11.9999&lt;/o:Version&gt; &lt;/o:DocumentProperties&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:worddocument&gt;  &lt;w:printfractionalcharacterwidth/&gt;  &lt;w:hidespellingerrors/&gt;  &lt;w:hyphenationzone&gt;17&lt;/w:HyphenationZone&gt;  &lt;w:donothyphenatecaps/&gt;  &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;  &lt;w:displayverticaldrawinggridevery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;  &lt;w:usemarginsfordrawinggridorigin/&gt;  &lt;w:validateagainstschemas/&gt;  &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:donotshadeformdata/&gt;  &lt;w:compatibility&gt;   &lt;w:printcolblack/&gt;   &lt;w:showbreaksinframes/&gt;   &lt;w:suppressspbfafterpgbrk/&gt;   &lt;w:swapbordersfacingpages/&gt;   &lt;w:convmailmergeesc/&gt;   &lt;w:ww6borderrules/&gt;   &lt;w:footnotelayoutlikeww8/&gt;   &lt;w:shapelayoutlikeww8/&gt;   &lt;w:aligntablesrowbyrow/&gt;   &lt;w:forgetlasttabalignment/&gt;   &lt;w:nospaceraiselower/&gt;   &lt;w:layoutrawtablewidth/&gt;   &lt;w:layouttablerowsapart/&gt;   &lt;w:useword97linebreakingrules/&gt;   &lt;w:selectentirefieldwithstartorend/&gt;   &lt;w:useword2002tablestylerules/&gt;  &lt;/w:Compatibility&gt;  &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt; &lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}h1 {mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:1; mso-list:l0 level1 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; text-transform:uppercase; mso-font-kerning:0pt; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:bold; mso-bidi-font-weight:normal;}h2 {mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:2; mso-list:l0 level2 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:bold; mso-bidi-font-weight:normal;}h3 {mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:3; mso-list:l0 level3 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:normal;}h4 {mso-style-parent:"Heading 3"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:4; mso-list:l0 level4 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:normal;}h5 {mso-style-parent:"Heading 3"; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:5; mso-list:l0 level5 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:normal;}h6 {mso-style-parent:"Heading 3"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:6; mso-list:l0 level6 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:normal;}p.MsoHeading7, li.MsoHeading7, div.MsoHeading7 {mso-style-parent:"Heading 3"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:7; mso-list:l0 level7 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoHeading8, li.MsoHeading8, div.MsoHeading8 {mso-style-parent:"Heading 3"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:8; mso-list:l0 level8 lfo1; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoHeading9, li.MsoHeading9, div.MsoHeading9 {mso-style-parent:"Heading 3"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; text-indent:0cm; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:9; mso-list:l0 level9 lfo1; tab-stops:list 18.0pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc1, li.MsoToc1, div.MsoToc1 {mso-style-noshow:yes; mso-style-next:Normal; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc2, li.MsoToc2, div.MsoToc2 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:11.9pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc3, li.MsoToc3, div.MsoToc3 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:24.1pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc4, li.MsoToc4, div.MsoToc4 {mso-style-noshow:yes; mso-style-parent:"TOC 3"; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:24.1pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc5, li.MsoToc5, div.MsoToc5 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:44.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc6, li.MsoToc6, div.MsoToc6 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:55.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc7, li.MsoToc7, div.MsoToc7 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:66.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc8, li.MsoToc8, div.MsoToc8 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:77.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoToc9, li.MsoToc9, div.MsoToc9 {mso-style-noshow:yes; mso-style-next:Normal; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:88.0pt; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:right dotted 496.05pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoHeader, li.MsoHeader, div.MsoHeader {margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:center 207.65pt right 415.3pt; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.MsoFooter, li.MsoFooter, div.MsoFooter {margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:7.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;}a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;}p {mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";}p.00BodyText, li.00BodyText, div.00BodyText {mso-style-name:"00 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.02BodyText, li.02BodyText, div.02BodyText {mso-style-name:"02 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:129.85pt; text-indent:-129.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.01BodyText, li.01BodyText, div.01BodyText {mso-style-name:"01 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:64.9pt; text-indent:-64.9pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.11BodyText, li.11BodyText, div.11BodyText {mso-style-name:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:64.9pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.Bulletedo2, li.Bulletedo2, div.Bulletedo2 {mso-style-name:"Bulleted o 2"; mso-style-parent:"22 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:147.7pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.22BodyText, li.22BodyText, div.22BodyText {mso-style-name:"22 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:129.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.12BodyText, li.12BodyText, div.12BodyText {mso-style-name:"12 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:129.8pt; text-indent:-64.9pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.23BodyText, li.23BodyText, div.23BodyText {mso-style-name:"23 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:194.75pt; text-indent:-64.9pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.33BodyText, li.33BodyText, div.33BodyText {mso-style-name:"33 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:194.75pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.Bulletedo1, li.Bulletedo1, div.Bulletedo1 {mso-style-name:"Bulleted o 1"; mso-style-parent:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:82.75pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.Bulleted-1, li.Bulleted-1, div.Bulleted-1 {mso-style-name:"Bulleted - 1"; mso-style-parent:"Bulleted o 1"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:82.75pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.NumberedList0, li.NumberedList0, div.NumberedList0 {mso-style-name:"Numbered List 0"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:64.9pt; text-indent:-64.9pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.NumberedList1, li.NumberedList1, div.NumberedList1 {mso-style-name:"Numbered List 1"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:82.75pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.NumberedList2, li.NumberedList2, div.NumberedList2 {mso-style-name:"Numbered List 2"; mso-style-parent:"Numbered List 1"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:147.7pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.Bulleted-2, li.Bulleted-2, div.Bulleted-2 {mso-style-name:"Bulleted - 2"; mso-style-parent:"Bulleted o 2"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:147.7pt; text-indent:-17.85pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US;}p.TitleText, li.TitleText, div.TitleText {mso-style-name:"Title Text"; mso-style-parent:"00 BodyText"; mso-style-next:"11 BodyText"; margin-top:0cm; margin-right:0cm; margin-bottom:11.0pt; margin-left:0cm; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:bold; mso-bidi-font-weight:normal;}p.DocumentTitle, li.DocumentTitle, div.DocumentTitle {mso-style-name:"Document Title"; margin-top:140.0pt; margin-right:0cm; margin-bottom:0cm; margin-left:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:18.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman"; mso-ansi-language:EN-US; mso-fareast-language:EN-US; font-weight:bold; mso-bidi-font-weight:normal;} /* Page Definitions */ @page {mso-footnote-separator:url("Intvw_Questions_files/header.htm") fs; mso-footnote-continuation-separator:url("Intvw_Questions_files/header.htm") fcs; mso-endnote-separator:url("Intvw_Questions_files/header.htm") es; mso-endnote-continuation-separator:url("Intvw_Questions_files/header.htm") ecs;}@page Section1 {size:595.3pt 841.9pt; margin:4.0cm 1.0cm 42.55pt 2.0cm; mso-header-margin:1.0cm; mso-footer-margin:1.0cm; mso-header:url("Intvw_Questions_files/header.htm") h1; mso-paper-source:7;}div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:-5; mso-list-template-ids:-1;}@list l0:level1 {mso-level-style-link:"Heading 1"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level2 {mso-level-style-link:"Heading 2"; mso-level-text:"%1\.%2"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level3 {mso-level-style-link:"Heading 3"; mso-level-text:"%1\.%2\.%3"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level4 {mso-level-style-link:"Heading 4"; mso-level-text:"%1\.%2\.%3\.%4"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level5 {mso-level-style-link:"Heading 5"; mso-level-text:"%1\.%2\.%3\.%4\.%5"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level6 {mso-level-style-link:"Heading 6"; mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level7 {mso-level-style-link:"Heading 7"; mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level8 {mso-level-style-link:"Heading 8"; mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}@list l0:level9 {mso-level-style-link:"Heading 9"; mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9"; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; mso-level-legacy-indent:0cm; mso-level-legacy-space:5.65pt; margin-left:0cm; text-indent:0cm;}ol {margin-bottom:0cm;}ul {margin-bottom:0cm;}--&gt;&lt;/style&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}&lt;/style&gt;&lt;![endif]--&gt;&lt;/head&gt;
&lt;br /&gt;&lt;body lang="EN-GB" link="blue" vlink="purple" style="'tab-interval:64.9pt'"&gt;
&lt;br /&gt;&lt;div class="Section1"&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;Can you please describe the Red Green Refactor Processin context of test driven development?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Every TDDfeature development cycle goes through multiple iterations of Red, Green andRefactor. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;The processsays that first we automate the test that we would like to add to our evolvingproduct/project. And then run the test till it succeeds without worrying aboutthe code/design. After we get the test to pass, we then start to enhance thecode quality by doing refactoring.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Red: &lt;/span&gt;&lt;/b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial;color:#7030a0'&gt;We must run the testbefore we actually code the feature and the test is supposed to fail. This isto test the automated test.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Green: &lt;/span&gt;&lt;/b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial;color:#7030a0'&gt;We would see Red untilwe see start seeing green which means that test passes.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Refactor: &lt;/span&gt;&lt;/b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial;color:#7030a0'&gt;Once we get the test topass, then we start freely making changes to code to improve the design(refactoring). We are able to do this because we have the confidence ofautomated unit tests which would ensure that none of the existing featureschange because of the changes. &lt;script&gt;&lt;!--D(["mb","\u003cb\u003e \u003c/b\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e\u003cspan\u003e2.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you please describe\nthe singleton pattern?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSingleton is\none of the creational patterns. Essentially, singleton is a class which allows\nonly single instance to be created of itself. This is one patterns that could\nbe tempting to use for many of the programming needs. And overuse simply kills\nthe performance. FULL STOP.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThe approach\nI usually take against this is not to use until it becomes mandatory.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWell, to\nstart drill into the details. We can discuss about two sides of the singleton.\nOne face is about ways to create the singleton and the other face is to make\nsure that the singleton that we create would really stay as a singleton.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWays to\ncreate\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e1. Creating a\nstatic instance variable and creating the instance at the class load time \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e2. Using\nlazy initialization with a static getInstance method\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:.5in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBoth the approaches do not allow us to be able to\noverride the getinstance methods which would leave the polymorphic behaviour.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e3. Factory\nclass with a method which could return a singleton instance.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e4.\nsingletonfactory class that stores the mapping between the class names and its\nsingleton instances\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e These\nare more powerful approaches than the first two!!!\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eOn the\nother hand, to make sure singleton is really a singleton... We need to be aware\nof quite a lot of things, I would point some of them here. (I am running short\nof the space here.. will summarize this. I can explain it in much detailed way\ngiven an opportunity for the interview)",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;2.       Can you pleasedescribe the singleton pattern?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Singleton isone of the creational patterns. Essentially, singleton is a class which allowsonly single instance to be created of itself. This is one patterns that couldbe tempting to use for many of the programming needs. And overuse simply killsthe performance. FULL STOP.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;The approach Iusually take against this is not to use until it becomes mandatory.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Well, to startdrill into the details. We can discuss about two sides of the singleton. Oneface is about ways to create the singleton and the other face is to make surethat the singleton that we create would really stay as a singleton.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Ways tocreate&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1. Creating astatic instance variable and creating the instance at the class load time &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2. Usinglazy initialization with a static getInstance method&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'text-indent:36.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Both the approaches do not allow us to be able to override thegetinstance methods which would leave the polymorphic behaviour.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3. Factoryclass with a method which could return a singleton instance.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;4.singletonfactory class that stores the mapping between the class names and itssingleton instances&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt; Theseare more powerful approaches than the first two!!!&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;On theother hand, to make sure singleton is really a singleton... We need to be awareof quite a lot of things, I would point some of them here. (I am running shortof the space here.. will summarize this. I can explain it in much detailed waygiven an opportunity for the interview) &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e1.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSerialize\nand deserialize the singleton object \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e2.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eInstantiate\nthe serialize the object in two or more app domains.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e3.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eGarbage\ncollector could come into picture and might collect it since there is no body\noutside of it is holding a reference.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eEtc.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eUsage\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSome of the\ncommon uses include, having a logging service singleton class, to hold a\ndatabase connection where we have limited number of connections that can be\nmade eg. With the Experian NBS copy database.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e\u003cspan\u003e3.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you tell us tell us\nthe different types of joins available in SQL and describe them?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBasically\njoins are used to get the subset of a Cartesian product from two tables.\nBroadly, there are two types of joins.  \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cbr\u003e\n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e1. Inner join:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e A join of two tables which omits the rows if\neither side is a NULL.\u003cb\u003e\u003c/b\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e2. Outer\nJoin:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e Outer join is subcategorised\nin to Left Outer Join and Right Outer Join. Which includes blank rows in\nspecified side if condition\nsatisfies.                    ",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1.      Serialize and deserialize the singleton object &lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2.       Instantiatethe serialize the object in two or more app domains.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3.       Garbagecollector could come into picture and might collect it since there is no bodyoutside of it is holding a reference.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Etc.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Usage&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Some of thecommon uses include, having a logging service singleton class, to hold adatabase connection where we have limited number of connections that can bemade eg. With the Experian NBS copy database.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;3.       Can you tell ustell us the different types of joins available in SQL and describe them?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Basicallyjoins are used to get the subset of a Cartesian product from two tables.Broadly, there are two types of joins.  &lt;br /&gt;&lt;b&gt;1. Inner join:&lt;/b&gt; A join of two tables which omits the rows if either sideis a NULL.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2. OuterJoin:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Outer join is subcategorised in to Left Outer Join and Right Outer Join. Whichincludes blank rows in specified side if conditionsatisfies.                    &lt;script&gt;&lt;!--D(["mb","\u003cWBR\u003e      \nSimple outer join is combination of left and right outer joins.  \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eApart from\nthese there are :\u003cb\u003e\u003c/b\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e3. Natural\njoin:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e Just the Cartesian\nproduct \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cbr\u003e\n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e4. Equi join:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e which includes \u003d operator in condition \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cbr\u003e\n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e5. Non Equi join:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e All conditional joins which doesn\u0026#39;t uses \u003d in\nthe conditions.\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e4.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe contract first development and\nwhy we use it?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWhen creating\nweb services, there are two different styles of developing the services. \u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e·\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%;color:#7030A0\"\u003e        \n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eContract first:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e C++ days, WCF is nearly there\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e·\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%;color:#7030A0\"\u003e        \n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eCode first:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e VB days, ASMX implementation\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;wbr&gt;       Simple outer join iscombination of left and right outer joins.  &lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Apart fromthese there are :&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3. Naturaljoin:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Just the Cartesian product &lt;br /&gt;&lt;b&gt;4. Equi join:&lt;/b&gt; which includes = operator in condition &lt;br /&gt;&lt;b&gt;5. Non Equi join:&lt;/b&gt; All conditional joins which doesn't uses = in theconditions.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;4.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe contract firstdevelopment and why we use it?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;When creatingweb services, there are two different styles of developing the services. &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;·&lt;/span&gt;&lt;span style="'font-size:7.0pt;font-family:Arial;color:#7030A0'"&gt;        &lt;/span&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Contractfirst:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;C++ days, WCF is nearly there&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;·&lt;/span&gt;&lt;span style="'font-size:7.0pt;font-family:Arial;color:#7030A0'"&gt;        &lt;/span&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Codefirst:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;VB days, ASMX implementation&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;script&gt;&lt;!--D(["mb","\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWhen we are doing contract first, we start\nwith the WSDL contract first and then code for that contract.  This helps\nin solving lot of problems including the below.\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e1. \u003cb\u003eFragility:\u003c/b\u003e No guarantee that\ncontract stays the same over the long time\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e2. \u003cb\u003ePerformance\u003c/b\u003e is high because we know\nwhat is sent over the wire, not serializing everything\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e3. \u003cb\u003eReusability: \u003c/b\u003eIf there are reusable\ntypes, we have the option of segregating them into a different file.\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e4. \u003cb\u003eVersioning: \u003c/b\u003eIf\u003cb\u003e \u003c/b\u003ewe leave WSDL\nto be generated, then we seem to lose control over the versioning multiple\nWSDLs for the same web service. \u003c/span\u003e\u003cb\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e5.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe Inversion of control  /\ndependency injection?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWell.. When I\nhear Dependency Injection, I think of Martin Fowler.  It is a separate\nthing that I am one of his big fans. I simply love his talks, his articles\nthough lot of them are tangential to me \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-family:Wingdings;color:#7030A0\"\u003eJ\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSorry.. Back\nto the point.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBefore I\ndescribe this, I would like to raise the difference between the library and a\nframework. If we consider library as a dull way of simply using things in a\nprocedural way, there comes the framework which means taking the control over\nand maintaining the flow and in a way becoming the heart of the application.\nOnce we realise this, it is relatively easy to explain inversion of control.",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Whenwe are doing contract first, we start with the WSDL contract first and thencode for that contract.  This helps in solving lot of problems includingthe below.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1. &lt;b&gt;Fragility:&lt;/b&gt; No guarantee thatcontract stays the same over the long time&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2. &lt;b&gt;Performance&lt;/b&gt; is high because we knowwhat is sent over the wire, not serializing everything&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3. &lt;b&gt;Reusability: &lt;/b&gt;If there are reusabletypes, we have the option of segregating them into a different file.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;4. &lt;b&gt;Versioning: &lt;/b&gt;If&lt;b&gt; &lt;/b&gt;we leave WSDLto be generated, then we seem to lose control over the versioning multipleWSDLs for the same web service. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;5.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe Inversion ofcontrol  / dependency injection?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Well.. When Ihear Dependency Injection, I think of Martin Fowler.  It is a separatething that I am one of his big fans. I simply love his talks, his articlesthough lot of them are tangential to me &lt;/span&gt;&lt;span style="'font-size:9.5pt;font-family:Wingdings;mso-bidi-font-family:Arial;color:#7030A0'"&gt;J&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Sorry.. Backto the point.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Before Idescribe this, I would like to raise the difference between the library and aframework. If we consider library as a dull way of simply using things in aprocedural way, there comes the framework which means taking the control overand maintaining the flow and in a way becoming the heart of the application.Once we realise this, it is relatively easy to explain inversion of control. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eAs it says,\ninversion of control means the traditional flow of control is inverted and\nexpects that the module or the framework actually makes the call into the\napplication specific libraries. Some of the ways to actually get this done\ninclude publisher \u0026amp; subscriber mechanism and the dependency Injection.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWithout going\ninto the details of dependency injection, it is easy to see this in factory\npattern where the code is implemented against the interface. And only at run\ntime, we have the actual object injected into the class. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBecause the\ndependency between the components is injected at runtime, this is called\ndependency injection. We have two ways to do this. One way is to inject it\nthrough the constructor and the other way to do it is through a setter method.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWhile there\nare multiple advantages in terms of flexibility, there is increased complexity\nand the loss of code readability. And at the same time, it might be tricky to\nactually write and run unit tests which would test the dependency injection.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e6.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe a 2 patterns and describe where\nand how you would use them?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\"\u003e        \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eOut of the ones that are left after I\ncompleted the list of questions... My favourites are \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e1.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eObserver\nPattern\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ea.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;As it says,inversion of control means the traditional flow of control is inverted andexpects that the module or the framework actually makes the call into theapplication specific libraries. Some of the ways to actually get this doneinclude publisher &amp;amp; subscriber mechanism and the dependency Injection.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Without goinginto the details of dependency injection, it is easy to see this in factorypattern where the code is implemented against the interface. And only at runtime, we have the actual object injected into the class. &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Because the dependencybetween the components is injected at runtime, this is called dependencyinjection. We have two ways to do this. One way is to inject it through theconstructor and the other way to do it is through a setter method.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;While thereare multiple advantages in terms of flexibility, there is increased complexityand the loss of code readability. And at the same time, it might be tricky toactually write and run unit tests which would test the dependency injection.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;6.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe a 2 patterns anddescribe where and how you would use them?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;        &lt;spanstyle='color:#7030a0'&gt;Out of the ones that are left after I completed the listof questions... My favourites are &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1.      Observer Pattern&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;a.       &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis is\nused to observe the state of the publisher by the set of subscribers.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003eb.\u003cspan\u003e     \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWe\nbasically have a “Subject and Concrete Subject” and “Observer\nand ConcreteObserver” classes. Observers subscribes to the events from\nthe subject.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ec.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSubject\nkeeps raising the events whenever there is a state change in the Subject.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ed.\u003cspan\u003e     \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis is\none of the most commonly used patterns of all. We use this regularly while we\nwork with \u003ca href\u003d\"&lt;a href="http://asp.net/"&gt;http://ASP.NET\&lt;/a&gt;" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003eASP.NET\u003c/a\u003e applications. We hook onto the events using this model.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ee.\u003cspan\u003e     \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eAlong\nwith this, we can actually have the model pinging the views back in MVC pattern\nusing this pattern.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e2.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eFacade\nPattern\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ea.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis\nprovides simple interface for huge number of complex systems behind the scenes.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003eb.\u003cspan\u003e     \n",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;This is used to observe the state of the publisher by the set ofsubscribers.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;b.      We basicallyhave a “Subject and Concrete Subject” and “Observer and ConcreteObserver”classes. Observers subscribes to the events from the subject.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;c.       Subjectkeeps raising the events whenever there is a state change in the Subject.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;d.      This is oneof the most commonly used patterns of all. We use this regularly while we workwith &lt;a href="http://ASP.NET" target="_blank"&gt;ASP.NET&lt;/a&gt; applications. We hookonto the events using this model.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;e.      Along with this,we can actually have the model pinging the views back in MVC pattern using thispattern.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2.       FacadePattern&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;a.       Thisprovides simple interface for huge number of complex systems behind the scenes.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;b.      &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis is\npretty easy to implement. Main class objects are composed inside the facade\npattern and whenever the client makes the calls, then it merely uses the\ncomposed objects to get the functionality done.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ec.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWe have\ncreated quite a lot of facade classes over Microsoft Enterprise Libraries to\nsimplify the access to the client application code.\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e7.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe what generics are in\ncontext of .net 2?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eComing from\nthe C++ background, I am very much familiar with generics. Once we start\nworking with Generics, we might soon feel how boring the life would be without\ngenerics. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis concept\nallows us to be able to let the class not bind to a particular type and the\nsame time providing the excellent type safety. Excellent example is the generic\ncollection in .NET 2.0. This is one feature which has been exploited in .NET\n3.5 while we work with LINQ.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e8.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe error handling in .net?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\"\u003e        \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e.NET provides multiple things to be able to\ndeal with errors in any of the .NET languages.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e1.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e.NET CLR\nprovides the exception handling mechanisms. This has a service called SEH\n(Structured Exceptional Handling) service that helps us to recover from the\nexceptions that are thrown by runtime.",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;This is pretty easy to implement. Main class objects are composedinside the facade pattern and whenever the client makes the calls, then itmerely uses the composed objects to get the functionality done.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;c.       We havecreated quite a lot of facade classes over Microsoft Enterprise Libraries tosimplify the access to the client application code.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;7.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe what genericsare in context of .net 2?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Coming fromthe C++ background, I am very much familiar with generics. Once we startworking with Generics, we might soon feel how boring the life would be withoutgenerics. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;This conceptallows us to be able to let the class not bind to a particular type and thesame time providing the excellent type safety. Excellent example is the genericcollection in .NET 2.0. This is one feature which has been exploited in .NET3.5 while we work with LINQ.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;8.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe error handling in.net?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;        &lt;spanstyle='color:#7030a0'&gt;.NET provides multiple things to be able to deal witherrors in any of the .NET languages.&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1.       .NETCLR provides the exception handling mechanisms. This has a service called SEH(Structured Exceptional Handling) service that helps us to recover from theexceptions that are thrown by runtime. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003ea.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eTypically,\nit is like try, any number of catch blocks and an optional finally block. We\nhave facilities to maintain the stack trace even after we catch the exceptions\n(by rethrowing the exceptions)\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.25in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003eb.\u003cspan\u003e     \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWe have\nthe facilities to create the custom exceptions that could be thrown outside.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e2.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e.NET\nprovides facilities to be able debug, trace information without writing big\namount of code\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e9.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e      \n\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eCan you describe anonymous methods?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eAnonymous\nmethods is a way of defining a method body without actually giving a name for\nit. Basically, cases like a small sized methods and to pass as a parameter to a\ndelegate, we use anonymous methods. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eI do not\nbelieve that CLR is doing anything special for the anonymous methods. It might\nthe case where CLR is not even aware of it. Personally, I like to name each of\nmy methods and do not want to increase the complexity of my code going for\nanonymous methods. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eHowever, this\nis getting into regular use now c# 3.5 which can potentially involve heavy use\nof anonymous methods.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e10.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e  \u003c/span\u003e",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;a.      Typically, it is like try, any number of catch blocks and an optional finallyblock. We have facilities to maintain the stack trace even after we catch theexceptions (by rethrowing the exceptions)&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:90.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;b.      We have thefacilities to create the custom exceptions that could be thrown outside.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2.       .NETprovides facilities to be able debug, trace information without writing bigamount of code&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;9.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;       &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;Can you describe anonymous methods?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Anonymousmethods is a way of defining a method body without actually giving a name forit. Basically, cases like a small sized methods and to pass as a parameter to adelegate, we use anonymous methods. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;I do notbelieve that CLR is doing anything special for the anonymous methods. It mightthe case where CLR is not even aware of it. Personally, I like to name each ofmy methods and do not want to increase the complexity of my code going foranonymous methods. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;However, thisis getting into regular use now c# 3.5 which can potentially involve heavy useof anonymous methods.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;10.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt; &lt;span lang="EN-US"&gt;&lt;script&gt;&lt;!--D(["mb","\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e What does the term immutable mean?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBy\ndefinition, immutable object means the state cannot be changed after it has\nbeen initialized once. In .NET, one of the common examples that we have is the\nstring object. Under normal execution circumstances and under the execution context\nof .NET, .NET does guarantee that the object value once initialized would never\nchange in its life time for this string object. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eHowever, as\nwe try and start creating our own immutable objects - it could be linked lists,\ntrees etc or even a data holder then we might need to follow rigorous\napproaches to make sure that what we are creating are indeed immutable objects.\nSome of the tricks include creating only getter properties and not allow any\nsetters. And try and make the class sealed as the opportunity arises. Possibly,\ndeclare all the private members as private readonly.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e11.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e  \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e What is a mock and why do we use them?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWell..\nWithout mocking, we simply cannot do TDD. It is natural for any of the Unit\nCode to have dependencies with the external entities like Database, Web\nservices etc. If our unit tests actually get the other dependencies into act,\nfor multiple reasons the TDD would not be possible.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eFor this\nreason, we need to provide the custom implementations (Typically frameworks\nprovide) that would similar/mock the actual behaviour of the dependencies.\nHence, it allows the Unit test to run and at the same time, Unit test is no\nmore depending on the external forces.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSorry forgot\nto answer what is Mock. Formally, mock objects are the custom objects that\nwould simulate the behaviour of the real objects in a very controlled way. And\nmock objects differ from Fake objects in a way that mock objects could actually\nvalidate the input data and raise the assertions.",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;Whatdoes the term immutable mean?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;By definition,immutable object means the state cannot be changed after it has beeninitialized once. In .NET, one of the common examples that we have is thestring object. Under normal execution circumstances and under the executioncontext of .NET, .NET does guarantee that the object value once initializedwould never change in its life time for this string object. &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;However, as wetry and start creating our own immutable objects - it could be linked lists,trees etc or even a data holder then we might need to follow rigorousapproaches to make sure that what we are creating are indeed immutable objects.Some of the tricks include creating only getter properties and not allow anysetters. And try and make the class sealed as the opportunity arises. Possibly,declare all the private members as private readonly.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;11.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt; What is a mock and why do we use them?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Well.. Withoutmocking, we simply cannot do TDD. It is natural for any of the Unit Code tohave dependencies with the external entities like Database, Web services etc.If our unit tests actually get the other dependencies into act, for multiplereasons the TDD would not be possible.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;For thisreason, we need to provide the custom implementations (Typically frameworksprovide) that would similar/mock the actual behaviour of the dependencies.Hence, it allows the Unit test to run and at the same time, Unit test is nomore depending on the external forces.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Sorry forgotto answer what is Mock. Formally, mock objects are the custom objects thatwould simulate the behaviour of the real objects in a very controlled way. Andmock objects differ from Fake objects in a way that mock objects could actuallyvalidate the input data and raise the assertions. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e12.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e   \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eWhat is the builder pattern and why would we use it?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eBuilder\npattern is part of the creational patterns where we also have factory,\nsingleton etc. Formally we define builder pattern as “Separate the\nconstruction of a complex object from its representation so that the same\nconstruction process can be reused for creating different\nrepresentations.”. It gets all the benefits of going for a creational\npattern and more as described in the definition.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e13.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e   \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eWhat is contract first development?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWhen creating\nweb services, there are two different styles of developing the services. \u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e·\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%;color:#7030A0\"\u003e        \n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eContract first:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e C++ days, WCF is nearly there\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e·\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%;color:#7030A0\"\u003e        \n\u003c/span\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eCode first:\u003c/span\u003e\u003c/b\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e VB days, ASMX implementation\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWhen we are doing contract first, we start\nwith the WSDL contract first and then code for that contract.  This helps\nin solving lot of problems including the below.",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;12.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;What is the builder pattern and why would we use it?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Builderpattern is part of the creational patterns where we also have factory,singleton etc. Formally we define builder pattern as “Separate the constructionof a complex object from its representation so that the same constructionprocess can be reused for creating different representations.”. It gets all thebenefits of going for a creational pattern and more as described in thedefinition.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;13.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;What is contract first development?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;When creatingweb services, there are two different styles of developing the services. &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;·&lt;/span&gt;&lt;span style="'font-size:7.0pt;font-family:Arial;color:#7030A0'"&gt;        &lt;/span&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Contractfirst:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;C++ days, WCF is nearly there&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;·&lt;/span&gt;&lt;span style="'font-size:7.0pt;font-family:Arial;color:#7030A0'"&gt;        &lt;/span&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Codefirst:&lt;/span&gt;&lt;/b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;VB days, ASMX implementation&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;When we are doing contract first, we startwith the WSDL contract first and then code for that contract.  This helpsin solving lot of problems including the below. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e1. \u003cb\u003eFragility:\u003c/b\u003e No guarantee that\ncontract stays the same over the long time\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e2. \u003cb\u003ePerformance\u003c/b\u003e is high because we know\nwhat is sent over the wire, not serializing everything\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e3. \u003cb\u003eReusability: \u003c/b\u003eIf there are reusable\ntypes, we have the option of segregating them into a different file.\u003c/span\u003e\u003cspan style\u003d\"color:#7030A0\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e4. \u003cb\u003eVersioning:\n\u003c/b\u003eIf\u003cb\u003e \u003c/b\u003ewe leave WSDL to be generated, then we seem to lose control over\nthe versioning multiple WSDLs for the same web service.\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\"\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e14.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e   \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eWhat is the MVC Pattern; please describe the M, V and C and their\nroles within the pattern?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eMVC stands\nfor the Model View Controller pattern.  M – Model, V – View, C\n– Controller\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eI was\ninvolved in one of the architectural study that we made for comparing multiple UI\narchitectural patterns to come up a mortgage designer UI application. \nWell, we can discuss that when I am there.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eMeanwhile,\nMVC is an architectural pattern which well renowned and which has maximum\nnumber of interpretations in the software industry. My understanding says that\nthe controller is responsible for the flow between the pages and in most of the\nimplementations it hosts the presentation logic as well. And the model is\ntypically equivalent to the responsible person to work with the data. Whereas,\nview is responsible just for showing the content to the user.",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1. &lt;b&gt;Fragility:&lt;/b&gt; No guarantee thatcontract stays the same over the long time&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2. &lt;b&gt;Performance&lt;/b&gt; is high because we knowwhat is sent over the wire, not serializing everything&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3. &lt;b&gt;Reusability: &lt;/b&gt;If there are reusabletypes, we have the option of segregating them into a different file.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;4. &lt;b&gt;Versioning:&lt;/b&gt;If&lt;b&gt; &lt;/b&gt;we leave WSDL to be generated, then we seem to lose control overthe versioning multiple WSDLs for the same web service.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;14.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;What is the MVC Pattern; please describe the M, V and C andtheir roles within the pattern?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;MVC stands forthe Model View Controller pattern.  M – Model, V – View, C – Controller&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;I was involvedin one of the architectural study that we made for comparing multiple UIarchitectural patterns to come up a mortgage designer UI application. Well, we can discuss that when I am there.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Meanwhile, MVCis an architectural pattern which well renowned and which has maximum number ofinterpretations in the software industry. My understanding says that thecontroller is responsible for the flow between the pages and in most of theimplementations it hosts the presentation logic as well. And the model istypically equivalent to the responsible person to work with the data. Whereas,view is responsible just for showing the content to the user. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eIn a well\nimplemented model, we can see view refresh updates coming from model as well\nalong with View himself pulling the data from Model. Controller actually\nco-ordinates the effort starting with listening to the events till the view\ngets refreshed.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e15.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e  \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e What the SOC principal and its application within code\narchitecture?                 \u003cWBR\u003e                     \u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eFrankly, I am not aware of any concept with\nthe name SOC principal. I will assume it is SOA and explain what I know here.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eSOA stands for Service Oriented\nArchitecture.  This is more of an enterprise architectural pattern where\nthe particular services are exposed and maintained at an enterprise level.\nThere are set of rules/principles that this architecture is based on. Some of\nthem include versioning, reuse. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis architecture encourages loose coupling\nbetween the components. And at the same time allows for seemless integration\nand communication  between the components.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e16.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e  \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e List and describe some code smells?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\"\u003e        \u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eCode smell basically is an indicator that\nsomething might be going wrong. As Martin Fowler says, for purists they will\nnot want to see any code smells, where as pragmatists take it case by case\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\"\u003e.\u003c/span\u003e\u003c/p\u003e\n\n",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;In a wellimplemented model, we can see view refresh updates coming from model as wellalong with View himself pulling the data from Model. Controller actuallyco-ordinates the effort starting with listening to the events till the viewgets refreshed.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;15.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt; What the SOC principal and its application within codearchitecture?                 &lt;wbr&gt;                    &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Frankly, I am not aware of any concept withthe name SOC principal. I will assume it is SOA and explain what I know here.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;SOA stands for Service OrientedArchitecture.  This is more of an enterprise architectural pattern wherethe particular services are exposed and maintained at an enterprise level.There are set of rules/principles that this architecture is based on. Some ofthem include versioning, reuse. &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;This architecture encourages loose couplingbetween the components. And at the same time allows for seemless integrationand communication  between the components.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;16.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt; List and describe some code smells?&lt;/span&gt;&lt;/b&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;        &lt;spanstyle='color:#7030a0'&gt;Code smell basically is an indicator that something mightbe going wrong. As Martin Fowler says, for purists they will not want to seeany code smells, where as pragmatists take it case by case&lt;/span&gt;.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;script&gt;&lt;!--D(["mb","\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\"\u003e        \u003cspan style\u003d\"color:#7030A0\"\u003eSome of the code smells that I am aware of are...\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e1.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eHuge\nmethods \u0026amp; Huge classes or class with too less code\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e2.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eDuplication\nof code \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e3.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eUnused\ncode \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e4.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eRepeating\nthe switch statements\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:.75in;text-indent:-.25in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e\u003cspan\u003e5.\u003cspan\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eEmpty\ncatch clauses or catch all clauses.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e17.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e  \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e What is Inheritance?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eIn our OO\nworld, this is the first class citizen. Formally, inheritance is a concept of\nspecialization or is-A relationship. Through inheritance we can derive another\nclass from the base class and hence would be able to use the attributes and the\nbehaviour of the base class. By this, it supports code-reuse.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eHowever, off\nlate because of issues like long inheritance hierarchies, allowing only single\ninheritance, being static in determining the class (compile time binding), This\ncame under lot of fire which led to the design principle of “Favor\ncomposition over inheritance”. ",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;       &lt;span style="'color:#7030A0'"&gt;Some of the code smells that I am aware of are...&lt;/span&gt;&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;1.       Hugemethods &amp;amp; Huge classes or class with too less code&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;2.      Duplication of code &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;3.       Unusedcode &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;4.      Repeating the switch statements&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:54.0pt;text-indent:-18.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;5.       Emptycatch clauses or catch all clauses.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;17.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt; What is Inheritance?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;In our OOworld, this is the first class citizen. Formally, inheritance is a concept ofspecialization or is-A relationship. Through inheritance we can derive anotherclass from the base class and hence would be able to use the attributes and thebehaviour of the base class. By this, it supports code-reuse.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;However, offlate because of issues like long inheritance hierarchies, allowing only singleinheritance, being static in determining the class (compile time binding), Thiscame under lot of fire which led to the design principle of “Favor composition overinheritance”. &lt;script&gt;&lt;!--D(["mb","\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis is the\nfundamental framework behind the features like Overriding.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e18.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e   \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eDescribe how we might express an expectation in the context of a\nN/JUnit Test?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eFor any unit\ntesting framework, let it be NUnit/Visual Studio Unit testing framework, we\nhave the assert class that would poses the static methods to evaluate and\ndescribe the expectations.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eWe have\ndifferent type of assetions in NUnit which includes equality asserts,\ncomparision asserts and utility methods like fail and ignore. Apart from these,\nwe have the StringAssert class that provides additional assertions on strings.\u003c/span\u003e\u003cspan lang\u003d\"EN-GB\"\u003e           \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"text-indent:-.25in\"\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003e19.\u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"font-size:7.0pt;line-height:115%\"\u003e   \u003c/span\u003e\u003c/b\u003e\u003cb\u003e\u003cspan lang\u003d\"EN-GB\"\u003eDescribe either the Inversion of Control Principal or Fluent Interface?\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eI have\nexplained Inversion of Control Principal earlier. I will explain fluent\ninterface below.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eA fluent\ninterface is a more fluent way of expressing something.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eExample:\u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eMailMessage msg \u003d new\nMailMessage(\u0026quot;srihari\u0026quot;,\u0026quot;Some Subject\u0026quot;, \u0026quot;Some\nBody\u0026quot;);\u003cbr\u003e\nSMTPServer server \u003d new SMTPServer(\u0026quot;mysmtpserver\u0026quot;);\u003cbr\u003e\nserver.Send(msg);\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis\nisn’t a fluent interface. Whereas the following one is a fluent\ninterface. \u003c/span\u003e\u003c/p\u003e\n\n\u003cp style\u003d\"margin-left:1.0in\"\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003e",1]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;This is thefundamental framework behind the features like Overriding.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;18.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;Describe how we might express an expectation in the contextof a N/JUnit Test?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;For any unittesting framework, let it be NUnit/Visual Studio Unit testing framework, wehave the assert class that would poses the static methods to evaluate anddescribe the expectations.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;We havedifferent type of assetions in NUnit which includes equality asserts,comparision asserts and utility methods like fail and ignore. Apart from these,we have the StringAssert class that provides additional assertions on strings.&lt;/span&gt;&lt;spanstyle='font-size:9.5pt;font-family:arial'&gt;          &lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:18.0pt;text-indent:-18.0pt'"&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;19.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:7.0pt;font-family:Arial'"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="'font-size:9.5pt;font-family:Arial'"&gt;Describe either the Inversion of Control Principal or FluentInterface?&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;I haveexplained Inversion of Control Principal earlier. I will explain fluentinterface below.&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;A fluentinterface is a more fluent way of expressing something.&lt;/span&gt;&lt;span lang="EN-USstyle="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Example:&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt'"&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;MailMessage msg = new MailMessage(&amp;quot;srihari&amp;quot;,&amp;quot;SomeSubject&amp;quot;, &amp;quot;Some Body&amp;quot;);&lt;br /&gt;SMTPServer server = new SMTPServer(&amp;quot;mysmtpserver&amp;quot;);&lt;br /&gt;server.Send(msg);&lt;/span&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;This isn’t afluent interface. Whereas the following one is a fluent interface. &lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style="'margin-left:72.0pt'"&gt;&lt;span lang="EN-US" style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;script&gt;&lt;!--D(["mb","Mail.WithRecipient(\u0026quot;srihari\u0026quot;)\u003cbr\u003e\n         .WithSubject(\u0026quot;Some\nSubject\u0026quot;)\u003cbr\u003e\n         .WithBody(\u0026quot;some\nbody\u0026quot;)\u003cbr\u003e\n        \n.WithSMTPServer(\u0026quot;mysmtpserver\u0026quot;\u003cWBR\u003e)\u003cbr\u003e\n         .Send();\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan lang\u003d\"EN-GB\" style\u003d\"color:#7030A0\"\u003eThis is\nimplemented by a central concept of implementing the “With setter methods”\nand in each of them returning the interface that would point to the object\nitself.\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan style\u003d\"color:#1F497D\"\u003eThanks,\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan style\u003d\"color:#1F497D\"\u003eSrihari\u003c/span\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003cspan style\u003d\"color:#1F497D\"\u003e \u003c/span\u003e\u003c/p\u003e\n\n\u003cdiv style\u003d\"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in\"\u003e\n\n\u003cp\u003e\u003cb\u003e\u003cspan style\u003d\"font-size:10.0pt\"\u003eFrom:\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"font-size:10.0pt\"\u003e Amy MacLucas\n[mailto:\u003ca href\u003d\"&lt;a href="mailto:Amy.MacLucas@Huntress.co.uk/"&gt;mailto:Amy.MacLucas@Huntress.co.uk\&lt;/a&gt;" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003eAmy.MacLucas@Huntress.\u003cWBR\u003eco.uk\u003c/a\u003e] \u003cbr\u003e\n\u003cb\u003eSent:\u003c/b\u003e Monday, June 16, 2008 7:00 PM\u003cbr\u003e\n\u003cb\u003eTo:\u003c/b\u003e \u003ca href\u003d\"&lt;a href="mailto:SrihariLondon@gmail.com/"&gt;mailto:SrihariLondon@gmail.com\&lt;/a&gt;" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003eSrihariLondon@gmail.com\u003c/a\u003e\u003cbr\u003e\n\u003cb\u003eSubject:\u003c/b\u003e Questions\u003c/span\u003e\u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003cp\u003e \u003c/p\u003e\n\n\u003cp\u003e \u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003c/div\u003e\n\n\n",0]);
&lt;br /&gt;//--&gt;&lt;/script&gt;&lt;/span&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;Mail.WithRecipient(&amp;quot;srihari&amp;quot;)&lt;br /&gt;         .WithSubject(&amp;quot;SomeSubject&amp;quot;)&lt;br /&gt;         .WithBody(&amp;quot;somebody&amp;quot;)&lt;br /&gt;        .WithSMTPServer(&amp;quot;mysmtpserver&amp;quot;&lt;wbr&gt;)&lt;br /&gt;         .Send();&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;&lt;span style="'font-size:9.5pt;font-family:Arial;color:#7030A0'"&gt;This isimplemented by a central concept of implementing the “With setter methods” andin each of them returning the interface that would point to the object itself.&lt;/span&gt;&lt;spanlang=en-us style="'font-size:9.5pt;font-family:Arial;mso-ansi-language:EN-US'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/body&gt;
&lt;br /&gt;&lt;/html&gt; 
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4425228230152189688?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/job-interview-screening-questions-and.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-9191836818495998368</guid><pubDate>Fri, 15 Aug 2008 12:24:00 +0000</pubDate><atom:updated>2008-08-15T12:28:01.166Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Non-Programming</category><title>How to recognize if the email is Spam?</title><description>I was thinking how does outlook know if the email is spam?&lt;br /&gt;&lt;br /&gt;Apperantly, it is a strightforward thing. Have a look below.&lt;br /&gt;&lt;br /&gt;The most common way of detecting spam is rejecting mail that comes from mail servers known (or believed) to send spam. This is done by taking the IP address of the remote mail server, converting it to a domain name using the ip4r format (a.b.c.d becomes d.c.b.a.lookupzone.com), and doing a lookup to check if that IP address is listed in one of the databases. &lt;br /&gt;&lt;br /&gt;http://whatismyipaddress.com/staticpages/index.php/is-my-ip-address-blacklisted&lt;br /&gt;&lt;br /&gt;So, the best way to spam is to send the emails with gmail or yahoo accounts :) &lt;br /&gt;&lt;br /&gt;Srihari&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-9191836818495998368?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/how-to-recognize-if-email-is-spam.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-2334915579027216305</guid><pubDate>Thu, 14 Aug 2008 14:16:00 +0000</pubDate><atom:updated>2008-08-14T14:17:40.908Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>How to limit the data precision to 2 in SQL Server</title><description>I assume there must be a quicker way to do this. If not, following will do the trick.&lt;br /&gt;&lt;br /&gt;let us say we want to have the output for 2012 as 20.12, we can use the following query.&lt;br /&gt;&lt;br /&gt;select cast((cast(2012 as numeric(10,2))/100) as numeric(10,2)) as Amount&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-2334915579027216305?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/how-to-limit-data-precision-to-2.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-7014792073455173677</guid><pubDate>Thu, 14 Aug 2008 12:03:00 +0000</pubDate><atom:updated>2008-08-14T12:07:15.108Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><title>My brother celebrating Indepence day</title><description>&lt;a href="http://2.bp.blogspot.com/_sPvwzOtfY7U/SKQfihhx9PI/AAAAAAAAAro/zAkDUrW6oUk/s1600-h/Suresh+Independence+Day.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sPvwzOtfY7U/SKQfihhx9PI/AAAAAAAAAro/zAkDUrW6oUk/s320/Suresh+Independence+Day.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5234343344887428338" /&gt;&lt;/a&gt;&lt;br /&gt;Tomorrow is INDIAns Independence day !!! What a great feeling...&lt;br /&gt;&lt;br /&gt;My brother celebrating independence day pics captured and posted at the link below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/SndSuresh/SureshNewPhotos"&gt;http://picasaweb.google.com/SndSuresh/SureshNewPhotos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-7014792073455173677?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/my-brother-celebrating-indepence-day.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_sPvwzOtfY7U/SKQfihhx9PI/AAAAAAAAAro/zAkDUrW6oUk/s72-c/Suresh+Independence+Day.JPG" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-2688060158344782210</guid><pubDate>Wed, 13 Aug 2008 14:34:00 +0000</pubDate><atom:updated>2008-08-13T14:54:44.349Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>How to do sequential ranking for each item in group in SQL server</title><description>Problem:&lt;br /&gt;&lt;br /&gt;I have a table with the name Employee. This has columns Person Name, Date Of Birth. Now I want to rank all the persons in each month ordered by person name. &lt;br /&gt;&lt;br /&gt;create table People&lt;br /&gt;(&lt;br /&gt; [name] varchar(20),&lt;br /&gt; dob datetime&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;Assume that we have the input data as ...&lt;br /&gt;&lt;br /&gt;insert into people values('Srihari', '10-20-2008');&lt;br /&gt;insert into people values('Suresh', '10-21-2008');&lt;br /&gt;insert into people values('Kavitha', '10-19-2008');&lt;br /&gt;insert into people values('Srinu', '12-18-2008');&lt;br /&gt;&lt;br /&gt;Srihari - 20/10/2008&lt;br /&gt;Suresh - 21/10/2008&lt;br /&gt;Kavitha - 19/10/2008&lt;br /&gt;Brahmaiah - 19/12/2008&lt;br /&gt;Srinu - 18/12/2008&lt;br /&gt;&lt;br /&gt;I want to have the following output.&lt;br /&gt;&lt;br /&gt;Kavitha - 10 - 1&lt;br /&gt;Srihari - 10 - 2&lt;br /&gt;Suresh - 10 - 3&lt;br /&gt;Srinu - 12 - 1&lt;br /&gt;Brahmaiah - 12 - 2&lt;br /&gt;&lt;br /&gt;As you can see none of the SQL Server rank functions can be used straight away to achieve this functionality.&lt;br /&gt;&lt;br /&gt;If we use rank...&lt;br /&gt;&lt;br /&gt;select *, rank() over (order by dob)&lt;br /&gt;from people&lt;br /&gt;&lt;br /&gt;we get the following output..&lt;br /&gt;&lt;br /&gt;Srihari         Oct 20 2008 1&lt;br /&gt;Suresh         Oct 21 2008 1&lt;br /&gt;Kavitha         Oct 19 2008 1&lt;br /&gt;Brahmaiah Dec 19 2008 4&lt;br /&gt;Srinu         Dec 18 2008 4&lt;br /&gt;&lt;br /&gt;This is obviously not what wanted...&lt;br /&gt;&lt;br /&gt;Let us try with some thing else now.. Row_Number???&lt;br /&gt;&lt;br /&gt;select *, row_number() over (order by dob)&lt;br /&gt;from people&lt;br /&gt;&lt;br /&gt;Kavitha         Oct 19 2008 1&lt;br /&gt;Srihari         Oct 20 2008 2&lt;br /&gt;Suresh         Oct 21 2008 3&lt;br /&gt;Srinu         Dec 18 2008 4&lt;br /&gt;Brahmaiah Dec 19 2008 5&lt;br /&gt;&lt;br /&gt;How do we solve our original problem?&lt;br /&gt;&lt;br /&gt;Well... What we can do is to mix both of these to acheive the required functionality. &lt;br /&gt;&lt;br /&gt;Try the below one..&lt;br /&gt;&lt;br /&gt;select *, (row_number() over (order by dob) -rank() over (order by datepart(month,dob)) + 1) as GroupRank&lt;br /&gt;from people&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kavitha         Oct 19 2008 1&lt;br /&gt;Srihari         Oct 20 2008 2&lt;br /&gt;Suresh         Oct 21 2008 3&lt;br /&gt;Srinu         Dec 18 2008 1&lt;br /&gt;Brahmaiah Dec 19 2008 2&lt;br /&gt;&lt;br /&gt;Then, we can actually rank them after ordering individual group. Let me know if you can not go further to do that. I am happy to help you.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-2688060158344782210?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/how-to-do-sequential-ranking-for-each.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4880941602486072507</guid><pubDate>Wed, 13 Aug 2008 11:57:00 +0000</pubDate><atom:updated>2008-08-13T12:01:51.494Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Ranking functions in SQL Server</title><description>I found a real good example to understand different ranking functions in SQL Server. I thought of sharing it with every body.&lt;br /&gt;&lt;br /&gt;USE AdventureWorks; GO SELECT c.FirstName, c.LastName ,ROW_NUMBER() OVER (ORDER BY a.PostalCode) AS 'Row Number' ,RANK() OVER (ORDER BY a.PostalCode) AS 'Rank' ,DENSE_RANK() OVER (ORDER BY a.PostalCode) AS 'Dense Rank' ,NTILE(4) OVER (ORDER BY a.PostalCode) AS 'Quartile' ,s.SalesYTD, a.PostalCode FROM Sales.SalesPerson s INNER JOIN Person.Contact c ON s.SalesPersonID = c.ContactID INNER JOIN Person.Address a ON a.AddressID = c.ContactID WHERE TerritoryID IS NOT NULL AND SalesYTD &lt;&gt; 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FirstName  LastName  Row Number  Rank  Dense Rank  Quartile  SalesYTD  PostalCode &lt;br /&gt;Maciej Dusza 1 1 1 1 4557045 98027&lt;br /&gt;Shelley Dyck 2 1 1 1 5200475 98027&lt;br /&gt;Linda Ecoffey 3 1 1 1 3857164 98027&lt;br /&gt;Carla Eldridge 4 1 1 1 1764939 98027&lt;br /&gt;Carol Elliott 5 1 1 2 2811013 98027&lt;br /&gt;Jauna Elson 6 6 2 2 3018725 98055&lt;br /&gt;Michael Emanuel 7 6 2 2 3189356 98055&lt;br /&gt;Terry Eminhizer 8 6 2 3 3587378 98055&lt;br /&gt;Gail Erickson 9 6 2 3 5015682 98055&lt;br /&gt;Mark Erickson 10 6 2 3 3827950 98055&lt;br /&gt;Martha Espinoza 11 6 2 4 1931620 98055&lt;br /&gt;Janeth Esteves 12 6 2 4 2241204 98055&lt;br /&gt;Twanna Evans 13 6 2 4 1758386 98055&lt;br /&gt;&lt;br /&gt;http://msdn.microsoft.com/en-gb/library/ms189798.aspx&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4880941602486072507?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/ranking-functions-in-sql-server.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4266683108125599649</guid><pubDate>Mon, 11 Aug 2008 19:56:00 +0000</pubDate><atom:updated>2008-08-11T19:58:26.509Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>How to get the Logged in Machine Name from the user name</title><description>The steps would help us to get the task done.&lt;br /&gt;&lt;br /&gt;1) Search the AD and locate the user by their username&lt;br /&gt;2) Determine the user's home drive location&lt;br /&gt;3) Split that string down to get the servername out of the UNC path&lt;br /&gt;4) Query the sessions on that server to see if the user is currently connected (any logged on user should be showing an open connection to their home drive server)&lt;br /&gt;5) Use that info to determine the PC name/IP that they are connecting from&lt;br /&gt;&lt;br /&gt;Refer: http://forums.whirlpool.net.au/forum-replies-archive.cfm/549971.html for more details.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4266683108125599649?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/how-to-get-logged-in-machine-name-from.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-3744819311038237031</guid><pubDate>Thu, 07 Aug 2008 09:42:00 +0000</pubDate><atom:updated>2008-08-07T09:48:23.712Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Design Patterns</category><title>Why hardcoding connection strings is bad</title><description>Today, i was chatting to one of my friends who is just starting up his career. I had to answer to his question on why hardcoding the connection strings is bad. I thought I could paste that chat here in my blog to help others who are just starting up.&lt;br /&gt;&lt;br /&gt;suresh: you said ealrier avoding hard coding of connection strings .&lt;br /&gt;means&lt;br /&gt;srihari: yes&lt;br /&gt;suresh: should i place it under dbcontsnas.cs file&lt;br /&gt;is that fine ?&lt;br /&gt;srihari: ok let me tell you some thing&lt;br /&gt;understand it to your heart&lt;br /&gt;assume that you have hard coded it in a function like you did&lt;br /&gt;suresh: i can feel it&lt;br /&gt;srihari: let us you have 100 such functions like that to write&lt;br /&gt;suresh: i can understand the problem&lt;br /&gt;srihari: listen&lt;br /&gt;suresh: Ok&lt;br /&gt;srihari: what is the problem&lt;br /&gt;tell me&lt;br /&gt;suresh: if we hard code it&lt;br /&gt;we can not reuse the sme string&lt;br /&gt;if we place it under file&lt;br /&gt;srihari: good&lt;br /&gt;suresh: we can use it among multiple functions where ever it is required&lt;br /&gt;srihari: good&lt;br /&gt;suresh: becaus of that i asked you can i assign this string to some variable of type string and place it under dbconstants.cs file so that we can use that varaible where ever it is necessary&lt;br /&gt;srihari: good point&lt;br /&gt;let me tell you bit more&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: now, we will talk like professionals&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: if some body asks me .. i will tell them the below&lt;br /&gt;List of problems&lt;br /&gt;1. By hardcoding the connection string, your project can not be used against a different database.&lt;br /&gt;assume that you have a live database, test database&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: what will happen if you hardcode test database name into the source code&lt;br /&gt;you can not take that project live :)&lt;br /&gt;is this cleart&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: so, this basically means.. it has to come from a configuration file.. which can be modified ..&lt;br /&gt;this should not be part of the source code&lt;br /&gt;is this clear&lt;br /&gt;suresh: yes&lt;br /&gt;web.config is not there&lt;br /&gt;i thought in that way also&lt;br /&gt;as it is class library project&lt;br /&gt;srihari: thats why there is some thing called app.config&lt;br /&gt;did you check that&lt;br /&gt;suresh: ok&lt;br /&gt;no&lt;br /&gt;srihari: also, remember one thing&lt;br /&gt;you are going to ultimately use this from a web site right which will have web.config&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: those configuration parameters will take effect&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: Now, let us talk about the second problem&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: 2. Let us say you have hardcoded the connection string, if the database username and password change&lt;br /&gt;your application will stop working&lt;br /&gt;suresh: Yes&lt;br /&gt;srihari: then we will have to rebuilt the problem&lt;br /&gt;sorry code&lt;br /&gt;suresh: ok&lt;br /&gt;unerstood&lt;br /&gt;srihari: basically, we have to make sure that code should never be changed&lt;br /&gt;because for any code change that we make to the code, we have to go through the entire cycle of testing, deployment.&lt;br /&gt;this is very costly&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: so, when we design... we have to code so that ... there will be very minimal number of changes&lt;br /&gt;Is this clear&lt;br /&gt;suresh: Yes&lt;br /&gt;srihari: good&lt;br /&gt;suresh: it is clear&lt;br /&gt;srihari: now let me tell you a principle&lt;br /&gt;this priciple is a GURU in OOPS design&lt;br /&gt;This is named as "Open Closed Principle"&lt;br /&gt;suresh: ooh&lt;br /&gt;i heared about this already&lt;br /&gt;akkayya answered for this&lt;br /&gt;srihari: This means.. "your code should always be OPEN for modifications and CLOSED for the changes"&lt;br /&gt;so by hard coding our connections string, we are violating the open closed principle&lt;br /&gt;because our code is not closed for changes&lt;br /&gt;sorry bujji&lt;br /&gt;my mistkae&lt;br /&gt;"your code should always be OPEN for EXTENSION and CLOSED for the changes"&lt;br /&gt;extension.. modification kadu&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: there is lot more to learn in this&lt;br /&gt;but for now.. understand that we are violating this principle.. because our code is not closed for changes&lt;br /&gt;changes include like datbase connections&lt;br /&gt;is this clear&lt;br /&gt;suresh: our code is not closed for changes&lt;br /&gt;srihari: yes&lt;br /&gt;suresh: i did not understand this&lt;br /&gt;our code is closed for changes&lt;br /&gt;srihari: closed ante... if we need to change the connections string.. we need to change the code right&lt;br /&gt;suresh: i did not understand this&lt;br /&gt;yes&lt;br /&gt;srihari: so, our code is not closed against the database connection string modification&lt;br /&gt;if we have to modify the database connection string, we need to go inside the code and change it&lt;br /&gt;as i told you earlier, changing the code is very costly&lt;br /&gt;is this clear now&lt;br /&gt;ask as many questions as possible&lt;br /&gt;understand this concept to your heart&lt;br /&gt;suresh: so we need to minizes the changes to the possible extent&lt;br /&gt;srihari: yes&lt;br /&gt;good point&lt;br /&gt;then the code is more maintainable&lt;br /&gt;suresh: Ok&lt;br /&gt;srihari: in any software project... 50% cost is in initial development&lt;br /&gt;and 50% cost in maintaience&lt;br /&gt;so, it is very important to think about maintainence while we are development&lt;br /&gt;if we do not follow good design principles.. we will be scerwed up during maintainence&lt;br /&gt;is this clear&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: good&lt;br /&gt;now the third problem&lt;br /&gt;3. If we hard code the connection string inside the function,&lt;br /&gt;there will be multiple places where the same connection string will be present&lt;br /&gt;tomorrow if there is a need to modify the connection string, we need to make sure that all the places are updated correctly&lt;br /&gt;suresh: ye&lt;br /&gt;srihari: this is very very difficult&lt;br /&gt;imagine you have developed 10000 lines of code&lt;br /&gt;and you are looking at the code after 1 year&lt;br /&gt;there is no way, that you will be able to know all the places that connection strings are present&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: then just for changing the connection strng, you will have to spend millions of pounds&lt;br /&gt;this is a maintainence nightmare&lt;br /&gt;is this clear&lt;br /&gt;suresh: maintainence nightmare ?&lt;br /&gt;night mare&lt;br /&gt;srihari: nightmare.. pida kala&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: :)&lt;br /&gt;now.. the fourth problem&lt;br /&gt;4. This is not quite applicable for the connection strings&lt;br /&gt;but in general applicable for the strings that will be shown to the user&lt;br /&gt;Imagine today you have released your applicaiton in english&lt;br /&gt;every thing works fine..&lt;br /&gt;what happens, if you want to change the language to telugu&lt;br /&gt;you need to go into the code and modify all the strings inside the code&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: against this is inconsitent, maintainence problem&lt;br /&gt;is this clear&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: thats why we have got resource files (satillite assemblies)&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: to solve this problem.. what we do is to keep the keys in the constants file&lt;br /&gt;and get the values from the resource dlls&lt;br /&gt;suresh: ok&lt;br /&gt;srihari: in general, fourth point we do not care much&lt;br /&gt;because most of the applications that we write are targetted only for english lands&lt;br /&gt;suresh: yes&lt;br /&gt;srihari: in microsoft, i used to work with resoruce assemblies&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this helped.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-3744819311038237031?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/why-hardcoding-connection-strings-is.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-5004012673921665733</guid><pubDate>Tue, 05 Aug 2008 15:50:00 +0000</pubDate><atom:updated>2008-08-05T15:51:41.681Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">asp.net</category><title>Windows Authentication followed by Forms Authentication in ASP.NET</title><description>&lt;p&gt;Today, I was search for a way to find out if we can do both windows authentication and forms authentication if the former one fails. The answer is yes.. but it is not stright forward.. It appears that can be achieved only by creating another virtual directory.&lt;/p&gt;&lt;p&gt;Check the below article. &lt;a href="http://aspalliance.com/553"&gt;http://aspalliance.com/553&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Regards,&lt;/p&gt;&lt;p&gt;Srihari&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-5004012673921665733?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/today-i-was-search-for-way-to-find-out.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-7245489982571299194</guid><pubDate>Tue, 05 Aug 2008 11:50:00 +0000</pubDate><atom:updated>2008-08-05T11:52:32.543Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><title>New certifications are available to take on .NET 3.5</title><description>Me and my wife are MCPD certified Enterprise applications Developers. And, we are constantly looking to extend our experience and prove it by taking certifications.&lt;br /&gt;&lt;br /&gt;Here are the new certifications in .NET WPF, WCF, WF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-502.mspx"&gt;Exam 70-502&lt;/a&gt;: TS: Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development (English)&lt;br /&gt;•&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-503.mspx"&gt;Exam 70-503&lt;/a&gt;: TS: Microsoft .NET Framework 3.5, Windows Communication Foundation Application Development (English)&lt;br /&gt;•&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-504.mspx"&gt;Exam 70-504&lt;/a&gt;: TS: Microsoft .NET Framework 3.5, Windows Workflow Foundation Application Development (English)&lt;br /&gt;&lt;br /&gt;Srihari&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-7245489982571299194?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/new-certifications-are-available-to.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-1210456813423269342</guid><pubDate>Mon, 04 Aug 2008 15:39:00 +0000</pubDate><atom:updated>2008-08-04T15:42:40.619Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Executing a batch file programmatically</title><description>While we want to do any kind of database automation.. as we know that.. C#/.NET does not provide any inbuilt mechanism to be execute any database script.. We might have to rely on SQLCMD.EXE or oSQL if it is 2000.&lt;br /&gt;&lt;br /&gt;I wrote the following piece of code which could execute my sqlcmd executable file/batch files through my c# program. I hope this could help you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private void RunSqlScriptInternal(DatabaseNode database, String SqlToExecute, String OutSqlFileName)&lt;br /&gt;{&lt;br /&gt;Console.WriteLine("Started executing script: " + SqlToExecute);&lt;br /&gt;String parentDir = Directory.GetParent(OutSqlFileName).FullName;&lt;br /&gt;if (!Directory.Exists(parentDir))&lt;br /&gt;{&lt;br /&gt;Directory.CreateDirectory(parentDir);&lt;br /&gt;}&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;using (Process proc = new Process())&lt;br /&gt;{&lt;br /&gt;if (!database.integratedAuth)&lt;br /&gt;{&lt;br /&gt;proc.StartInfo.Arguments = @"-U" + database.userName + " -P" + database.password + " -S" + database.serverName + " -d" + database.databaseName + @" -i""" + SqlToExecute + @""" -o""" + OutSqlFileName + @""" -h -1 -W";&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;proc.StartInfo.Arguments = @"-E -S" + database.serverName + " -d" + database.databaseName + @" -i""" + SqlToExecute + @""" -o""" + OutSqlFileName + @""" -h -1 -W";&lt;br /&gt;}&lt;br /&gt;proc.StartInfo.FileName = @"""C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SqlCmd.exe""";&lt;br /&gt;proc.StartInfo.UseShellExecute = false;&lt;br /&gt;proc.StartInfo.RedirectStandardOutput = true;&lt;br /&gt;proc.StartInfo.RedirectStandardError = true;&lt;br /&gt;proc.StartInfo.CreateNoWindow = true;&lt;br /&gt;proc.Start();&lt;br /&gt;Console.ForegroundColor = ConsoleColor.DarkBlue;&lt;br /&gt;String output = proc.StandardOutput.ReadToEnd();&lt;br /&gt;if (!String.IsNullOrEmpty(output)) Console.WriteLine(output);&lt;br /&gt;proc.WaitForExit();&lt;br /&gt;output = proc.StandardOutput.ReadToEnd();&lt;br /&gt;if (!String.IsNullOrEmpty(output)) Console.WriteLine(output);&lt;br /&gt;Console.ForegroundColor = ConsoleColor.Red;&lt;br /&gt;output = proc.StandardError.ReadToEnd();&lt;br /&gt;if (!String.IsNullOrEmpty(output)) Console.WriteLine(output);&lt;br /&gt;Console.ForegroundColor = ConsoleColor.White;&lt;br /&gt;proc.Close();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch (Exception e)&lt;br /&gt;{&lt;br /&gt;Console.ForegroundColor = ConsoleColor.Red;&lt;br /&gt;Console.WriteLine(e.Message);&lt;br /&gt;Console.ForegroundColor = ConsoleColor.White;&lt;br /&gt;}&lt;br /&gt;Console.WriteLine("Finished executing script. ");&lt;br /&gt;Console.WriteLine();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-1210456813423269342?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/executing-batch-file-programmatically.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-6039813605236671406</guid><pubDate>Mon, 04 Aug 2008 15:34:00 +0000</pubDate><atom:updated>2008-08-04T15:39:32.231Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Comparing database schema and data between two databases</title><description>Recently, I had come across this task of comparing data between two databases. I thought, I could share the research through this blog.&lt;br /&gt;&lt;br /&gt;Options that we have in hand:&lt;br /&gt;&lt;br /&gt;1. Link the two databases together, then it is strightforward.&lt;br /&gt;2. Otherwise, you can use the visual studio data professional product to compare the data betwen two databases. I am not sure if they are exposing any APIs to do this. I would guess no.&lt;br /&gt;And, the third option is to pull the data into a local database and compare the tables.&lt;br /&gt;&lt;br /&gt;Piece of code, that i have used to compare two tables.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declare @SQL varchar(8000)&lt;br /&gt;declare @T1ColumnList varchar(1000)&lt;br /&gt;declare @t2ColumnList varchar(1000)&lt;br /&gt;declare @table1 varchar(100)&lt;br /&gt;declare @table2 varchar(100)&lt;br /&gt;set @T1ColumnList='$COLUMN_NAMES$'&lt;br /&gt;set @table1='$TABLE1$'&lt;br /&gt;set @table2='$TABLE2$'&lt;br /&gt;SET @T2ColumnList = @T1ColumnList&lt;br /&gt;set @SQL = 'SELECT ''' + @table1 + ''' AS TableName, ' + @t1ColumnList + ' FROM ' + @Table1 + ' UNION ALL SELECT ''' + @table2 + ''' As TableName, ' + @t2ColumnList + ' FROM ' + @Table2&lt;br /&gt;set @SQL = 'SELECT Max(TableName) as TableName, ' + @t1ColumnList + ' FROM (' + @SQL + ') A GROUP BY ' + @t1ColumnList + ' HAVING COUNT(*) = 1'&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;exec (@SQL)&lt;br /&gt;&lt;br /&gt;Hope you found this useful.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-6039813605236671406?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/08/comparing-database-schema-and-data.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4045306612317454201</guid><pubDate>Sun, 13 Jul 2008 17:18:00 +0000</pubDate><atom:updated>2008-07-13T17:19:28.535Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">agile</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Methodology</category><title>Agile Estimation and Planning</title><description>&lt;p&gt;I found the following really good videos that helps you understand how estimation inside Agile way of development works.&lt;/p&gt;&lt;p&gt;1. &lt;a href="http://www.youtube.com/watch?v=fb9Rzyi8b90"&gt;http://www.youtube.com/watch?v=fb9Rzyi8b90&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2. &lt;a href="http://www.youtube.com/watch?v=jeT0pOVg0EI"&gt;http://www.youtube.com/watch?v=jeT0pOVg0EI&lt;/a&gt;&lt;/p&gt;Srihari&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4045306612317454201?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/07/agile-estimation-and-planning.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-1759390714852284847</guid><pubDate>Fri, 04 Jul 2008 20:45:00 +0000</pubDate><atom:updated>2008-07-04T20:47:08.388Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Design Patterns</category><category domain="http://www.blogger.com/atom/ns#">Methodology</category><title>Foundations of Better Programming</title><description>I came across this book which I found very useful. This covers excellent topics like Agile programming, unit testing, mock objects, memory management, object relational mapping, and more.  I thought this could help while we design applications especially in agile development.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx" target="_blank"&gt;http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-1759390714852284847?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/07/foundations-of-better-programming.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4143895912820028902</guid><pubDate>Mon, 30 Jun 2008 11:52:00 +0000</pubDate><atom:updated>2008-12-09T15:26:46.841Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">personal</category><category domain="http://www.blogger.com/atom/ns#">Non-Programming</category><title>Trip to Windsor Castle</title><description>&lt;a href="http://4.bp.blogspot.com/_sPvwzOtfY7U/SGjJSyQCA_I/AAAAAAAAAo0/AIbUQIFsDU4/s1600-h/IMG_0226.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5217641492872561650" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_sPvwzOtfY7U/SGjJSyQCA_I/AAAAAAAAAo0/AIbUQIFsDU4/s320/IMG_0226.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Please find some snaps at the below link.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://picasaweb.google.com/srihari.kothapalli/WindsorCastle"&gt;http://picasaweb.google.com/srihari.kothapalli/WindsorCastle&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Srihari&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4143895912820028902?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/please-find-some-snaps-at-below-link.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_sPvwzOtfY7U/SGjJSyQCA_I/AAAAAAAAAo0/AIbUQIFsDU4/s72-c/IMG_0226.jpg" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-4306312890826156869</guid><pubDate>Sun, 29 Jun 2008 23:25:00 +0000</pubDate><atom:updated>2008-06-29T23:26:09.476Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Design Patterns</category><category domain="http://www.blogger.com/atom/ns#">asp.net</category><category domain="http://www.blogger.com/atom/ns#">LINQ</category><category domain="http://www.blogger.com/atom/ns#">Entity framework</category><title>when to use linq to sql, entity framework</title><description>&lt;a href="http://msdn.microsoft.com/en-us/library/cc161164.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc161164.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-4306312890826156869?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/when-to-use-linq-to-sql-entity.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-6264406869178005028</guid><pubDate>Sat, 28 Jun 2008 14:54:00 +0000</pubDate><atom:updated>2008-06-28T14:56:26.975Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">asp.net</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Helpful links to learn ASP.NET Session Management internals</title><description>&lt;p&gt;Useful set of links to get started with understanding sessions from  basic to in depth explanations&lt;/p&gt;&lt;p&gt;Session Management basics&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/aspnet/SessionManagementAspNet.aspx"&gt;http://www.codeproject.com/KB/aspnet/SessionManagementAspNet.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Underpinnings of the Session State Implementation in ASP.NET&lt;a href="http://msdn.microsoft.com/en-us/library/aa479041.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa479041.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Session Internals: &lt;a href="http://www.codeproject.com/KB/session/ASPNETSessionInternals.aspx"&gt;http://www.codeproject.com/KB/session/ASPNETSessionInternals.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/session/sessiontool.aspx"&gt;A Session Data Management Tool&lt;/a&gt;&lt;br /&gt;Introducing a .NET web service to manage session data for multiple applications&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/session/Session_Defibrillator.aspx"&gt;The Defibrillator: Keeping ASP.NET Session Alive Ad Infinitum&lt;/a&gt;&lt;br /&gt;With only two lines of code (no joking) keep your session alive as long as the user stays on your site.&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/session/Reconnect.aspx"&gt;Prevent Session Timeout in ASP.NET&lt;/a&gt;&lt;br /&gt;Simple code to prevent a sesison from timing out while a user enters data or edits HTML etc.&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/session/sessionstate.aspx"&gt;Offering a better (ODP Compliant) ASP.NET Session object&lt;/a&gt;&lt;br /&gt;This article discusses the problems and the available solutions for maintenance and utilization of ASP.NET session state of the .NET session object.&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/session/PersistAttribute.aspx"&gt;Using Attributes for encapsulating ASP.NET Session and ViewState variables&lt;/a&gt;&lt;br /&gt;A generic and type-safe way to encapsulate ASP.NET Session and ViewState variables.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-6264406869178005028?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/helpful-links-to-learn-aspnet-session.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-5215708884485047779</guid><pubDate>Sun, 22 Jun 2008 16:50:00 +0000</pubDate><atom:updated>2008-06-22T16:52:11.997Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Is union supported in C#?</title><description>Today, one of my friends asked me a tricky question. Is union supported in c#?&lt;br /&gt;Answer is No. But we can actually simulate it with a concept called StructLayout.&lt;br /&gt;To give a little background, in .NET the way all the fields are positions while allocating the memory is not in our control by default. (Please note this applies to classes only. For structs, it is actually the way we declare the fields.)&lt;br /&gt;&lt;br /&gt;There are three commands that CLR can obey in terms of the field layout.&lt;br /&gt;&lt;br /&gt;1.       Layout.Sequential (Default for Struct)&lt;br /&gt;2.       Layout.Auto (Default for Class)&lt;br /&gt;3.       Layout.Explicit (We can use this to create unions)&lt;br /&gt;&lt;br /&gt;I guess, all the above three are self explanatory. We can specify this to CLR using a class attribute called StructLayoutAttribute.&lt;br /&gt;&lt;br /&gt;[StructLayout(LayoutKind.Sequential, Size=8)]class myClass&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;We have one more field attribute called “FieldOffset” through which we can specify the relative address location for the field.&lt;br /&gt;&lt;br /&gt;Given this information, look at the following.&lt;br /&gt;&lt;br /&gt;[StructLayout(LayoutKind.Explicit, Size=8)]&lt;br /&gt;struct UValue&lt;br /&gt;{    &lt;br /&gt;  [FieldOffset(0)] public char _cval;    &lt;br /&gt;  [FieldOffset(0)] public int _ival;    &lt;br /&gt;  [FieldOffset(0)] public double _dval;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Can you sense a Union here? Yes. You are right. This is precisely the union that we had in C and C++.   We actually have much more flexibility.&lt;br /&gt;&lt;br /&gt;This actually is equivalent to the following union in C.&lt;br /&gt;&lt;br /&gt;union UValue&lt;br /&gt;{    &lt;br /&gt;   char _cval;    &lt;br /&gt;   int _ival;    &lt;br /&gt;   double _dval;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Hope this helped you.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-5215708884485047779?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/is-union-supported-in-c.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-2296034359139505670</guid><pubDate>Sat, 21 Jun 2008 22:51:00 +0000</pubDate><atom:updated>2008-06-22T00:22:38.427Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><title>Useful tip for guys starting to use WCF</title><description>When you are creating your WCF files using the class library and subsequently deploy it in the IIS, please note that by default project configuration says “the dll would be created under the bin\debug”. This is a problem for the IIS. IIS only looks for the dlls under bin or the compiles the code under app_code directory. So, inorder to solve this problem, either you can manually copy the dll generated to bin folder or actually change the settings in the project properties to generate the dll to bin directory.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-2296034359139505670?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/two-important-tips-for-guys-starting-to.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6995845847209909549.post-6883334152079822406</guid><pubDate>Sat, 21 Jun 2008 16:16:00 +0000</pubDate><atom:updated>2008-06-21T16:23:22.119Z</atom:updated><category domain="http://www.blogger.com/atom/ns#">Non-Programming</category><title>Tip to open docx files with msword 2003</title><description>Kavitha has recently blogged out a hack through which you can open the docx files with doc software.&lt;br /&gt;&lt;br /&gt;Here are the steps.&lt;br /&gt;&lt;br /&gt;1. Rename your docx file to zip.&lt;br /&gt;2. Unzip the file.&lt;br /&gt;3. Go to document.xml and open this file with microsoft word 2003 that you have.&lt;br /&gt;4. You will then see the file, with all the formatting missed but still not readable.&lt;br /&gt;&lt;br /&gt;You can directly go to that &lt;a href="http://kavithamannam.blogspot.com/2008/06/how-to-open-msword-2008-documents-with.html"&gt;blog.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Srihari&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://feeds.feedburner.com/SrihariBlog" rel="alternate" type="application/rss+xml"&gt;Subscribe in a reader&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6995845847209909549-6883334152079822406?l=sriharik.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://sriharik.blogspot.com/2008/06/kavitha-has-recently-blogged-out-hack.html</link><author>noreply@blogger.com (Srihari Kothapalli)</author><thr:total>0</thr:total></item></channel></rss>

