设计模式:

  设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。

    • 单例模式:在一个jvm虚拟机,要创建的对象控制成独一份;举例:统计单台虚拟机内的用户在线数
package com.alipay.cstask.base.designpatterns;

public class Singleton {

    private static Singleton singleton = new Singleton();

    // 饿汉式
public static Singleton getSingletonHungry(){
return singleton;
} }

饿汉式

package com.alipay.cstask.base.designpatterns;

public class Singleton {

    // 懒汉式
public static Singleton getSingletonLazy(){
if (singleton == null){
synchronized (TestDesignModel.class){
if (singleton == null){
return singleton = new Singleton();
} } }
return singleton;
} }

懒汉式

    • 工厂模式:在创建某一系列对象时,其创建以及维护过程交由某一特定的类或对象来管理;举例:线程池,数据源池,Spring的Bean工厂类:BeanFactory

JAVA设计模式及其设计原则的更多相关文章

  1. Java设计模式学习——设计原则

    第一章 设计原则 1.开闭原则 一个软件实体,像类,模块,函数应该对扩展开放,对修改关闭 在设计的时候,要时刻考虑,让这个类尽量的好,写好了就不要去修改.如果有新的需求来,在增加一个类就完事了,原来的 ...

  2. java设计模式和设计原则

    一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...

  3. Java 设计模式(二)-六大原则

    Java 设计模式(二)-六大原则 单一职责原则(Single Responsibility Principle) 定义: 不要存在多余一个原因导致类变更,既一个类只负责一项职责. 问题由来: 当类A ...

  4. Java设计模式_七大原则

    简介 单一职责原则.对类来说,即一个类应该只负责一项职责. 开闭原则.对扩展开放,对修改关闭.在程序需要进行扩展的时候,不能去修改原有代码,使用接口和抽象类实现一个热插拔的效果. 里氏替换原则.任何基 ...

  5. java设计模式之七大原则

    java设计模式 以下内容为本人的学习笔记,如需要转载,请声明原文链接   https://www.cnblogs.com/lyh1024/p/16724932.html 设计模式 1.设计模式的目的 ...

  6. JavaScript设计模式之设计原则

    何为设计 即按照哪一种思路或者标准来实现功能,功能相同,可以有不同的设计方案来实现 伴随着需求的增加,设计的作用就会体现出来,一般的APP每天都在变化,更新很快,需求不断在增加,如果设计的不好,后面很 ...

  7. 设计模式之设计原则 C#

    成为一名资深架构师首先要懂设计模式,在懂之前,要清楚设计原则,原来我就吃过这个亏,很久以前有人问我设计原则,我是一头茫然,不是只有设计模式吗?且不知设计原则就像是写书法一样,楷体就是方正,竖道有垂露等 ...

  8. Java 面向对象的设计原则

    一. 1.面向对象思想的核心: 封装.继承.多态.   2.面向对象编程的追求: 高内聚低耦合的解决方案: 代码的模块化设计: 3.什么是设计模式: 针对反复出现的问题的经典解决方案,是对特定条件下( ...

  9. 设计模式——<面向对象设计原则以及23种设计模式分类>

    一.面向对象八大设计原则: 1.依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定) . 抽象(稳定)不应该依赖于实现细节(变化) ,实现细节应该依赖于抽 ...

  10. 年终知识分享——UML、设计模式、设计原则

                                                                                                        ...

随机推荐

  1. pytest设计项目结构

    api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...

  2. NVIDIA的GPU算力Compute Capalibity

    可查看官方查询地址:https://developer.nvidia.com/cuda-gpus

  3. PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像|附代码数据

    原文链接:http://tecdat.cn/?p=24346 最近我们被客户要求撰写关于用户流失数据挖掘的研究报告,包括一些图形和统计输出. 在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集 ...

  4. 微信公众号 H5授权登录

    首先微信公众号 必须是服务号,订阅号没有 "网页授权获取用户基本信息" 没有这个权限.服务号也必须认证后才有这个权限

  5. 远程CG动画制作的神器:RayLink远程控制软件

    近几年疫情变幻多端,加上数字经济的快速发展,直接助推各行各业信息化发展.越来越多企业打破传统固定办公室的限制,对工作场所的选择愈加灵活.自由化.诸如居家办公.外地出差办公.会议协同办公等远程办公的应用 ...

  6. 【翻译】了解Flink-概览 -- Learn Flink-Overview

    了解Flink: 上手手册 目录 手册目标和范围 流处理 并行数据流 及时的流处理 有状态流处理 通过状态快照进行容错 翻译来源 Learn Flink:Overview , Learn Flink: ...

  7. logback 日志脱敏处理

    1.按正则表达式脱敏处理 参考: https://www.cnblogs.com/htyj/p/12095615.html http://www.heartthinkdo.com/?p=998 站在两 ...

  8. 很抱歉,无法安装Office(64位),因为您的计算机上已经安装了这些32位Office程序

    可使用下面的方法获取最新最全的Win10 KEY: 1.请加微信公众号号:jiangivana 或扫一扫下面的二维码. 2.加微信公众号以后回复[key]将获得最新最全的Win10密钥. 64位与32 ...

  9. Nginx+UWSGI+supervisor

    Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检 ...

  10. Oracle数据库简单常用语句

    简单常用语句: 登录超级用户 sqlplus / as sysdba; 登录普通用户 connect username/password; 显示当前用户名 show user; 查询所有用户名 sel ...