java设计模式

单例模式

一个类只允许创建一个实例。

场景:数据库连接池、日志处理器、系统配置类等,这些功能类在整个系统中只需要一个类足够处理所有工作,无需重复创建导致开销增加。

但这些单例类总是得创建一次。创建策略分为两种

饿汉式:系统启动的时候就把单例类创建一遍。效果:系统响应快,启动耗时,有些不常用的单例类反而占用内存。

懒汉式:在用到的时候通过设置getInstance()方法,来控制单例类只创建一次。但单例类被第一次并发访问的时候,会出现线程不安全的情况,可以通过将实例化的代码进行加锁,以此保证线程安全。

所以在一个应用中两种创建方式基本都会存在,根据具体单例类的用途进行选择。

工厂模式

定义一个规范工作的接口,然后根据多种工作详情具体实现多种操作的工作类。

这些工作由统一的外包工厂承接。

当用户需要帮忙做A工作,直接找外包工厂,工厂会根据A工作类型,派出A工作类进行工作。

这样后续出现M工作,N工作,工厂负责实现这些工作类型,用户不需要关心。可扩展。

这种模式重点在于工厂采用什么样的选择策略,遵守开闭原则,在拓展新业务时,不对工厂源代码进行更改的情况下实现。

构造者模式

大多数情况下,编写的java类里需要类成员变量。

当成员变量必须设置的时候,我们可以通过setter进行设置。但如果用户不情况这个规则,在没有设置的情况下,调用的方法进行执行,就会导致运行异常。很显然这种setter方式不是很友好。

(1)因此对于上述情况,我们采用构造函数入参的方式则可以直接规避上述情况。缺少必输参数,就无法创建实例化类。

(2)针对4个及以上的必输参数,使用构造函数的方式会看起来非常累赘。

你可能感兴趣的:(java,设计模式,开发语言)