当前位置: 首页 > news >正文

weebly做网站推广赚钱的软件

weebly做网站,推广赚钱的软件,网站设计流程,wordpress真实用户ip插件作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS二次开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 目录 定义 特点 使用场景 优缺点 (1) 优点…
作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS二次开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)

目录

定义

特点

使用场景

优缺点

(1) 优点

(2) 缺点

模式结构

具体实现

实际应用


定义

简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

特点

在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。

使用场景

在以下情况下可以使用简单工厂模式:

工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。

客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。

举例:

一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、椭圆按钮等), 这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使用这些按钮时,不需要知道这些具体按钮类的名字,只需要知道表示该按钮类的一个参数,并提供一个调用方便的方法,把该参数传入方法即可返回一个相应的按钮对象,此时,就可以使用简单工厂模式。

优缺点

(1) 优点
    • 通过使用工厂类,外界不再需要关心如何创造各种具体的产品,只要提供一个产品的名称作为参数传给工厂,就可以直接得到一个想要的产品对象,并且可以按照接口规范来调用产品对象的所有功能(方法)。
    • 构造容易,逻辑简单。
(2) 缺点
    • 简单工厂模式中的if else判断非常多,完全是Hard Code,如果有一个新产品要加进来,就要同时添加一个新产品类,并且必须修改工厂类,再加入一个 else if 分支才可以, 这样就违背了 “开放-关闭原则”中的对修改关闭的准则了。当系统中的具体产品类不断增多时候,就要不断的修改工厂类,对系统的维护和扩展不利。
    • 一个工厂类中集合了所有的类的实例创建逻辑,违反了高内聚的责任分配原则,将全部的创建逻辑都集中到了一个工厂类当中,所有的业务逻辑都在这个工厂类中实现。什么时候它不能工作了,整个系统都会受到影响。因此一般只在很简单的情况下应用,比如当工厂类负责创建的对象比较少时。
    • c简单工厂模式由于使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构。

模式结构

简单工厂模式包含如下角色:

  • Factory:工厂角色

工厂角色负责实现创建所有实例的内部逻辑

  • Clickable:抽象产品角色

抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口

  • CircleButton:具体产品角色

具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

具体实现

/*** 产品接口--抽象按钮*/
public interface Clickable {/*** 响应按钮点击*/void onClick();
}/*** 具体产品--圆形按钮*/
public class CircleButton implements Clickable {@Overridepublic void onClick() {System.out.println("button click: CircleButton...");}
}
/*** 工程模式--简单工厂*/
public class SimpleFactory {/*** 创建按钮* @param type 按钮类型,1:圆形按钮;2:椭圆形按钮;3:矩形按钮,默认:矩形按钮,可用常量或者枚举代替* @return 具体按钮*/public static Clickable createButton(int type) {Clickable button = null;switch (type) {case 1: //圆形按钮button = new CircleButton();break;case 2: //椭圆形按钮button = new OvalButton();break;case 3: //矩形按钮button = new RectangleButton();break;default:    //矩形按钮break;}return button;}
}

具体使用

public class App {public static void main(String[] args) {//1:圆形按钮Clickable circleButton = SimpleFactory.createButton(1);circleButton.onClick();//2:椭圆形按钮Clickable ovalButton = SimpleFactory.createButton(2);ovalButton.onClick();//3:矩形按钮Clickable rectangleButton = SimpleFactory.createButton(3);rectangleButton.onClick();}
}

实际应用

① JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。

public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale locale);

②Java加密技术

获取不同加密算法的密钥生成器:

KeyGenerator keyGen=KeyGenerator.getInstance("DESede");

创建密码器:

Cipher cp=Cipher.getInstance("DESede");
http://www.shuangfujiaoyu.com/news/49353.html

相关文章:

  • 如何腾讯云二级域名做网站友情链接平台
  • 创建网站运营费用国内的搜索引擎有哪些
  • 个人网站备案需要什么资料重庆森林为什么叫这个名字
  • 网页设计与网站建设网上推广培训
  • 2021世界500强企业排名东莞网站优化
  • 网站做推广页需要什么软件有哪些常用seo站长工具
  • 做物流的网站博客网站
  • 残疾人网站服务平台搭建网站费用是多少
  • 网络营销思想的网站改版计划seo外包公司怎么样
  • 公司移动端的网站模板下载app推广联盟
  • 微孝感网站建设优化网络搜索引擎
  • 做网站和优化共多少钱?cnn头条新闻
  • 台州网站开发公司每日财经要闻
  • 网站做的漂亮的企业站长平台百度
  • 查看网站源代码建站可以新手怎么开始做电商
  • 单位服务器网站打不开同城发广告的平台有哪些
  • 彩票网站开发系统如何搭建百度排名竞价
  • 建筑外观设计网站推荐媒体135网站
  • 嵌入式开发工资长沙seo排名扣费
  • 网站建设分为那几个模块营销网站建设教学
  • 网站建设选哪个公司中国营销策划第一人
  • 网站如何做域名解析抖音推广网站
  • 网站备案 几年怎么做网站赚钱
  • 网站制作包括哪些下载班级优化大师并安装
  • 做网站设计软件营销心得体会感悟300字
  • 第三方网络营销平台seo在线培训课程
  • 鹤壁做网站唐山seo
  • 公司网站工商备案怎么做导购网站怎么推广
  • 利用网站开发诈骗seo概念
  • 类似b站的网站怎么做服装品牌策划及营销推广方案