http://www.soapatterns.org/masterlist_a.php
http://www.designpatternsfor.net/Presentations.aspx
http://www.designpatternsfor.net/default.aspx?pid=38
Interfaces + Factory pattern = Decoupled architecture
----------------------------------------------------------
http://www.dotnetspark.com/kb/300-interfaces--factory-pattern--decoupled-architecture.aspx
Azure Cloud Solution Architect, Full-Stack Development in .Net Eco system, Senior Manager at Capgemini
Tuesday, April 13, 2010
Saturday, March 13, 2010
Repository-Business Validation
http://dnnrepository.codeplex.com/
http://repositoryfactory.codeplex.com/
http://loungerepo.codeplex.com/
http://vs2010.codeplex.com/
http://validationframework.codeplex.com/
http://validationaspects.codeplex.com/
http://evil.codeplex.com/
http://fluentvalidation.codeplex.com/
http://www.codeinsanity.com/2008/08/repository-pattern.html
http://validationframework.codeplex.com/
http://automapper.codeplex.com/wikipage?title=Configuration%20Validation&referringTitle=Home
http://repositoryfactory.codeplex.com/
http://loungerepo.codeplex.com/
http://vs2010.codeplex.com/
http://validationframework.codeplex.com/
http://validationaspects.codeplex.com/
http://evil.codeplex.com/
http://fluentvalidation.codeplex.com/
http://www.codeinsanity.com/2008/08/repository-pattern.html
http://validationframework.codeplex.com/
http://automapper.codeplex.com/wikipage?title=Configuration%20Validation&referringTitle=Home
Thursday, March 11, 2010
ADO.NET Entity Framework
http://code.msdn.microsoft.com/dtl401sample/Release/ProjectReleases.aspx?ReleaseId=2831
http://msdn.microsoft.com/en-us/magazine/dd569757.aspx
http://blogs.msdn.com/adonet/pages/walkthrough-test-driven-development-with-the-entity-framework-4-0.aspx
http://msdn.microsoft.com/en-us/library/dd456815(VS.100).aspx
http://msdn.microsoft.com/en-us/magazine/dd569757.aspx
http://blogs.msdn.com/adonet/pages/walkthrough-test-driven-development-with-the-entity-framework-4-0.aspx
http://msdn.microsoft.com/en-us/library/dd456815(VS.100).aspx
Sunday, February 21, 2010
Rhino Mocks
http://www.ayende.com/projects/rhino-mocks/api/files/MocksRepositoryGenerics-cs.html
http://www.ayende.com/projects/rhino-mocks/api/files/MockRepository-cs.html
http://www.codeproject.com/KB/dotnet/Rhino_Mocks_Version_20.aspx
http://www.ayende.com/projects/rhino-mocks/api/index/Functions.html
http://www.ayende.com/wiki/AllPages.aspx
http://www.ayende.com/wiki/Rhino+Mocks+Documentation.ashx
http://www.ayende.com/wiki/GetFile.aspx?File=Rhino+Mocks+3.3+Quick+Reference.pdf
http://www.ayende.com/wiki/GetFile.aspx?File=rhino_mocks.pdf
http://house9-code-samples.blogspot.com/2008/02/rhinomocks-basics.html
http://ayende.com/Blog/category/515.aspx
http://www.ayende.com/projects/rhino-mocks/api/files/MockRepository-cs.html
http://www.codeproject.com/KB/dotnet/Rhino_Mocks_Version_20.aspx
http://www.ayende.com/projects/rhino-mocks/api/index/Functions.html
http://www.ayende.com/wiki/AllPages.aspx
http://www.ayende.com/wiki/Rhino+Mocks+Documentation.ashx
http://www.ayende.com/wiki/GetFile.aspx?File=Rhino+Mocks+3.3+Quick+Reference.pdf
http://www.ayende.com/wiki/GetFile.aspx?File=rhino_mocks.pdf
http://house9-code-samples.blogspot.com/2008/02/rhinomocks-basics.html
http://ayende.com/Blog/category/515.aspx
Tuesday, February 16, 2010
Code Generation
http://www.pnpguidance.net/Post/SampleFluentNHibernateT4TemplatesCodeGenerationLINQToSQL.aspx
http://davidhayden.com/blog/dave/category/15.aspx?Show=All
http://www.codeproject.com/KB/architecture/linqrepository.aspx
http://www.codeplex.com/RepositoryFactory
Guidance Automation Extensions - February 2008 Release
______________________________________________________
http://www.microsoft.com/downloads/details.aspx?FamilyId=DF79C099-4753-4A59-91E3-5020D9714E4E&displaylang=en
http://servicefactory.codeplex.com/releases/view/11147
http://www.microsoft.com/downloads/details.aspx?FamilyId=6C200BAC-9F33-46E3-A5A2-839FD7DC022F&displaylang=en
http://blogs.microsoft.co.il/blogs/gilf/archive/2010/01/20/using-repository-pattern-with-entity-framework.aspx
http://davidhayden.com/blog/dave/category/15.aspx?Show=All
http://www.codeproject.com/KB/architecture/linqrepository.aspx
http://www.codeplex.com/RepositoryFactory
Guidance Automation Extensions - February 2008 Release
______________________________________________________
http://www.microsoft.com/downloads/details.aspx?FamilyId=DF79C099-4753-4A59-91E3-5020D9714E4E&displaylang=en
http://servicefactory.codeplex.com/releases/view/11147
http://www.microsoft.com/downloads/details.aspx?FamilyId=6C200BAC-9F33-46E3-A5A2-839FD7DC022F&displaylang=en
http://blogs.microsoft.co.il/blogs/gilf/archive/2010/01/20/using-repository-pattern-with-entity-framework.aspx
Generic WCF Converter function
public TDestination Convert(TSource objSource, TDestination objDestination)
{
if (objSource == null)
{
return default(TDestination);
}
if (objDestination == null)
{
return default(TDestination);
}
// Read Destination Properties
foreach (PropertyInfo propInfo in objDestination.GetType().GetProperties())
{
if (!propInfo.PropertyType.IsGenericType)
{
// Read Source Properties
object val = null;
foreach (PropertyInfo info in objSource.GetType().GetProperties())
{
// Match Source & Destination Properties
if (propInfo.Name == info.Name)
{
if (info.CanRead)
{
val = info.GetValue(objSource, null);
}
if (propInfo.CanWrite)
{
// If Source is Enum Type and Destination is byte type
if (info.PropertyType.IsEnum == true && propInfo.PropertyType.IsEnum == false)
{
byte tmpVal = System.Convert.ToByte(info.PropertyType.GetField(info.GetValue(objSource, null).ToString()).GetRawConstantValue());
propInfo.SetValue(objDestination, tmpVal, null);
}
else
{
propInfo.SetValue(objDestination, val, null);
}
}
break;
}
}
}
}
return objDestination;
}
{
if (objSource == null)
{
return default(TDestination);
}
if (objDestination == null)
{
return default(TDestination);
}
// Read Destination Properties
foreach (PropertyInfo propInfo in objDestination.GetType().GetProperties())
{
if (!propInfo.PropertyType.IsGenericType)
{
// Read Source Properties
object val = null;
foreach (PropertyInfo info in objSource.GetType().GetProperties())
{
// Match Source & Destination Properties
if (propInfo.Name == info.Name)
{
if (info.CanRead)
{
val = info.GetValue(objSource, null);
}
if (propInfo.CanWrite)
{
// If Source is Enum Type and Destination is byte type
if (info.PropertyType.IsEnum == true && propInfo.PropertyType.IsEnum == false)
{
byte tmpVal = System.Convert.ToByte(info.PropertyType.GetField(info.GetValue(objSource, null).ToString()).GetRawConstantValue());
propInfo.SetValue(objDestination, tmpVal, null);
}
else
{
propInfo.SetValue(objDestination, val, null);
}
}
break;
}
}
}
}
return objDestination;
}
Friday, February 12, 2010
CSLA
http://en.wikipedia.org/wiki/Component-based_Scalable_Logical_Architecture
http://www.lhotka.net/cslanet/Info.aspx
http://www.lhotka.net/cslanet/Info.aspx
Subscribe to:
Posts (Atom)