When given an example of refactoring, I'm tired of seeing a Data Access Layer with string literals for connection strings being replaced by IConnectionStringProvider.
eg:
public DataSet GetCustomers()
{
string connectionString = "SQLClient;Blah;Blah";
using(SqlConnection conn = new SqlConnection(connectionString))
...
to this
public DataSet GetCustomers()
{
string coonectionString = connectionStringProvider.GetConnectionString();
using(SqlConnection conn = new SqlConnection(connectionString))
...
In the Domain Driven Design world I'm tired of seeing the Domain be a Customer who has many Orders which also has many OrderLineItems. Please explain Aggregate Roots using something a bit more interesting please!
Or am I completely losing it and rehashing these simplistic is the best way to teach these ideas?
Ooh, and using shapes to explain inheritance...
What examples to you use to teach these concepts?