java设计模式 | 您所在的位置:网站首页 › logo语言的两种工作方式 › java设计模式 |
单例模式
一个类只允许创建一个实例。 场景:数据库连接池、日志处理器、系统配置类等,这些功能类在整个系统中只需要一个类足够处理所有工作,无需重复创建导致开销增加。 但这些单例类总是得创建一次。创建策略分为两种 饿汉式:系统启动的时候就把单例类创建一遍。效果:系统响应快,启动耗时,有些不常用的单例类反而占用内存。 懒汉式:在用到的时候通过设置getInstance()方法,来控制单例类只创建一次。但单例类被第一次并发访问的时候,会出现线程不安全的情况,可以通过将实例化的代码进行加锁,以此保证线程安全。 所以在一个应用中两种创建方式基本都会存在,根据具体单例类的用途进行选择。 工厂模式定义一个规范工作的接口,然后根据多种工作详情具体实现多种操作的工作类。 这些工作由统一的外包工厂承接。 当用户需要帮忙做A工作,直接找外包工厂,工厂会根据A工作类型,派出A工作类进行工作。 这样后续出现M工作,N工作,工厂负责实现这些工作类型,用户不需要关心。可扩展。 这种模式重点在于工厂采用什么样的选择策略,遵守开闭原则,在拓展新业务时,不对工厂源代码进行更改的情况下实现。 构造者模式大多数情况下,编写的java类里需要类成员变量。 当成员变量必须设置的时候,我们可以通过setter进行设置。但如果用户不情况这个规则,在没有设置的情况下,调用的方法进行执行,就会导致运行异常。很显然这种setter方式不是很友好。 (1)因此对于上述情况,我们采用构造函数入参的方式则可以直接规避上述情况。缺少必输参数,就无法创建实例化类。 (2)针对4个及以上的必输参数,使用构造函数的方式会看起来非常累赘。 |
CopyRight 2018-2019 实验室设备网 版权所有 |