Design patterns 你使用什么样的设计模式,它有什么好处?
我知道的和他们的一些模式,如,的,和其他一些 除此之外,我碰巧看到了许多我不知道的模式,它们都不是为了什么好,也不是为了它们的目的 我想知道你对设计模式的看法。如果您能提供一个代码示例来解释它的用法,以及在其他模式上使用它是否准确,我们将不胜感激 请,每个答案只有一个模式,每个模式有一个示例。 看看你想分享的模式是否已经讨论过了。如果没有,请随时与社区分享!=) 此模式的一个真实示例: 第一个和最后一个链接都有代码示例,供需要它们的人使用。Singleton模式 定义:如果一个系统只需要一个类的实例,并且该实例需要在系统的许多不同部分都可以访问,则可以通过将该类设置为单例来控制实例化和访问 示例:一个具体示例是使用NHibernate时的Design patterns 你使用什么样的设计模式,它有什么好处?,design-patterns,architectural-patterns,Design Patterns,Architectural Patterns,我知道的和他们的一些模式,如,的,和其他一些 除此之外,我碰巧看到了许多我不知道的模式,它们都不是为了什么好,也不是为了它们的目的 我想知道你对设计模式的看法。如果您能提供一个代码示例来解释它的用法,以及在其他模式上使用它是否准确,我们将不胜感激 请,每个答案只有一个模式,每个模式有一个示例。 看看你想分享的模式是否已经讨论过了。如果没有,请随时与社区分享!=) 此模式的一个真实示例: 第一个和最后一个链接都有代码示例,供需要它们的人使用。Singleton模式 定义:如果一个系统只需要一个
ISessionFactory
API。由于ISessionFactory
在内存中的加载需要实例化成本,由于它涉及所有对象关系映射和要同时加载到内存中的数据库连接,建议只创建一个实例,并使用ISessionFactory
API的唯一实例,即Singleton模式,创建ISession
API实例
链接:
如果在应用程序运行期间可能不使用某些对象,则此选项非常有用。因此,如果不需要,可以节省内存,因为对象仅在需要时创建。状态模式-对于任何可以编辑我的帖子的人,请将其设置为社区Wiki。虽然我已经在社区维基上提出了其他问题,但我似乎没有复选框,每个设计模式有一个问题不是更好吗?这样,最好的例子就可以被选为最优秀的,并且/或者被接受。@Thomas Langston:当然!虽然这将是非常,我的意思是,非常有趣,我不知道所有的设计模式,所以我希望首先介绍给他们。我想我也会考虑你的建议,然后想出一个更好的主意。这是一种对您有意义的可接受的方法吗?谢谢你的评论!我没有那样想过可以让您了解设计模式。你可以从上链接的资源中学到更多。感谢这些重要的链接,我必须承认,这些链接将非常有用。尽管如此,尽管我知道“四人帮”和其他与设计模式相关的网站和资源,但我无法理解它们。当你更好地理解一位同事用他自己的话或诸如此类的话解释时,这种情况就会出现。我知道D&P是什么,但是,例如,考虑JB-King的答案,我不知道它。+ 1引入一个模式,我根本不知道!我不知道这个图案!谢谢你回答我的问题!=)
using NHibernate;
internal class NhConnectionFactory {
private static readonly ISessionFactory _sessionFactory = config.BuildSessionFactory();
internal NhSystemFactory() {
}
internal ISession OpenSession(string connectionString) {
return _sessionFactory.OpenSession();
}
// Other methods here...
}
public static class NhSystemFacade {
private static readonly NhConnectionFactory _nhConnectionFactory = new NhConnectionFactory();
public static string DefaultConnectionString {
get {
return Properties.Settings.Default.DefaultConnectionString;
}
}
public static ISession OpenSession() {
return _nhConnectionFactory.OpenSession(DefaultConnectionString);
}
}