Hello World,
Necessity is the mother of invention (oft repeated but very true) - as your hair starts greying, (and hairline begins to recede ;) ) you suddenly start to realize the weight of these adages.
One such necessity arose out of my observation that stored procedure names were scattered all across a codebase I was working with. If you ever wanted to change the name of a stored procedure used some context, you had to search the entire codebase and replace all occurances. I did not like this approach and came up with the below approach:
Now code that looked like this:
Necessity is the mother of invention (oft repeated but very true) - as your hair starts greying, (and hairline begins to recede ;) ) you suddenly start to realize the weight of these adages.
One such necessity arose out of my observation that stored procedure names were scattered all across a codebase I was working with. If you ever wanted to change the name of a stored procedure used some context, you had to search the entire codebase and replace all occurances. I did not like this approach and came up with the below approach:
- Create a type that holds stored procedure names grouped by module
- Read the name of stored procs from this type everywhere else. Now if a change is required it is in one sinlge place
1: /// <summary>
2: /// Holds the names of stored procedures used by the application
3: /// </summary>
4: public static class Commands
5: {
6: /// <summary> Holds the commands to fetch configuration data </summary>
7: public static class Config
8: {
9: /// <summary> The Command to Get a list of websites that are to be processed </summary>
10: public const string GetWebsites = "dbo.GetSomeConfig";
11:
12: /// <summary> The command to get website specific configuration by it's name </summary>
13: public const string GetWebsiteConfiguration = "dbo.GetSomeMoreConfig";
14: }
15:
16: /// <summary> Holds the commands to fetch Auth data </summary>
17: public static class Authentication
18: {
19: /// <summary> The command to fetch auth info </summary>
20: public const string GetAuthenticationType = "dbo.GetAuthType";
21:
22: /// <summary> The command to validate user </summary>
23: public const string ValidateUser = "dbo.ValidateUser";
24:
25: }
26:
27: /// <summary> Holds the commands to fetch related data </summary>
28: public static class AnotherModule
29: {
30: // More names here
31: ...
32: }
33: }
Now code that looked like this:
1: var cmdConfigSettings = new SqlCommand("dbo.GetSomeConfig", connString)
Will look like this:
Happy Coding!
1: var cmdConfigSettings = new SqlCommand(Commands.Config.GetWebsites, connString)
No comments:
Post a Comment