Software Development is so many things; to have a good start creativity, passion and methodology have to be a perfect match. While the creativity and the passion are subjective and personal, the methodology is something that can be learnt, developed, enhanced and shared. Like mathematics, it can be seen as an universal language. Principles When developing software there are some best-practices and principles that should [... read more]
Only few years ago I was not such a big fan of Object-Relational mapping tools (ORM), but now I have to admit that when starting a new project I’m always thinking whether it makes sense to use it or not. Compared to “traditional” coding techniques, Object-Relational mapping often reduces the amount of code that needs to be written, but I would add as well that [... read more]
Recently I have participated to a couple of discussions about whether the triggers or stored procedures should be used or not in a “real” project, so I decided to write this post to express my point of view. This said, I warn you, there is no a “right” answer, but most probably a “pro” and “cons” about anything written in this post. An old problem [... read more]
I’ve started adopting what I could call “agile” way of developing software only in 2007-2008. Since then I’ve become a Certified Scrum Master and trying to adopt as much techniques and methodologies to make the process of developing software in my team as much as possible. I am sure that I am still far from saying that it is perfect and there is always room [... read more]
For general information about the Aspect Oriented Programming please refer to the earlier post: Aspect Oriented Programming (AOP) basics In general, PostSharp offers a great deal of different types of predefined aspects that can be used and applied on methods, properties, events, fields, etc. The list below is directly taken from the PostSharp documentation. TypeLevelAspect: Which is a base class for all aspects applied on [... read more]
What is Aspect Oriented Programming? In very simple terms AOP is a software programming technique that helps managing cross cutting concerns in software applications. Before describing what “Cross cutting concern” is, we should mention the Separation of Concerns (SoC) paradigm first: When separating concerns, every class or method should be as modular as possible and should be responsible for only “one” thing at a time. [... read more]
Just wondering how many different ways are there for creating Web Services (of any kind) in the Microsoft.NET stack. ASP.NET Web Services Introduced from the beginning of the Microsoft.NET. ASP.NET Web Services technology has given a very easy way of creating Services within the Microsoft.NET stack. Even being so easy to implement, ASP.NET Web Services are good only in simple scenarios. ASP.NET Web Services are [... read more]
In this post I would like to analyze the two ways of how applications can exchange data (especially when it comes to the database access). I am mainly a big advocate of SOA (Service Oriented Architecture), but on the other side, you have developers who are more oriented toward direct database connections and sharing the data in this way. I would like to share with [... read more]
In my working career I had to deal with databases since my first day at work and it is a bit a hate-and-love relationship. Usually well working application is always backed up by a good designed database schema and good accessing mechanism. So far I always used RDBMS – Relationship databases such as Microsoft SQL Server, Oracle, MySql, Sybase. Right now there is a big [... read more]
The following is a list of books that I would recommend to every experienced (or not) software developer. Very often I take inspiration by reading again and again some chapters as very often the knowledge (theory), if not practiced, tends to blurry overtime. Please take the list as it is without any order of precedence. Every book is important for its own topic. Patterns of [... read more]
We mention Cohesion and Coupling when we are talking about Software Design Principles. Those two principles were first introduced in the book Structured Design: Fundamentals of a discipline of computer program and system design many years ago, even though the principles were around Structured Programming, they are still valid in the Object Oriented world. Cohesion Cohesion represents the degree of the systematic or logical connection [... read more]

By PDGACO payday loans