The Utility pattern is a software pattern that is used for utility classes that do not require instantiation and only have static methods. The stateless class is designated as static so that no instance can be created. Good candidates for utility classes are convenience methods that can be grouped together functionally.
Furthermore, methods in Utility classes are usually deterministic. As the Utility class is stateless, all parameters in each method must pass all necessary information to the method.
Example in C#
public static class LogUtil { public static void LogError(String message) { MyLogger logger = new MyLogger; logger.LogError(message); } public static void LogWarning(String message) { MyLogger logger = new MyLogger; logger.LogWarning(message); } public static void LogInfo(String message) { MyLogger logger = new MyLogger; logger.LogInfo(message); } } // A simple example showing how the utility methods are used class MyProgram { static void Main(String args) { if (args.Length > 0) { // Call our utility helper methods. Note that these are static methods // that are called directly off the class. LogUtil.LogError("User ran app with arguments!"); } else { LogUtil.LogInfo("Running program."); Run; } } }Read more about Utility Pattern: See Also
Famous quotes containing the words utility and/or pattern:
“Moral sensibilities are nowadays at such cross-purposes that to one man a morality is proved by its utility, while to another its utility refutes it.”
—Friedrich Nietzsche (18441900)
“Why it was that upon this beautiful feminine tissue, sensitive as gossamer, and practically blank as snow as yet, there should have been traced such a coarse pattern as it was doomed to receive; why so often the coarse appropriates the finer thus, the wrong man the woman, the wrong women the man, many years of analytical philosophy have failed to explain to our sense of order.”
—Thomas Hardy (18401928)