联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

第39天注解设计模式(单例模式和工厂模式)

作者:小教学发布时间:2023-09-19分类:程序开发学习浏览:92


导读:他说:一、注解@Target@Target(ElementType.TYPE)@Target({*(*(ElementType.METHOD}))@Target({...

他说:一、注解

@Target

@Target(ElementType.TYPE)

@Target({

*

(*(ElementType.METHOD}))

@Target({
        ElementType.TYPE,//类
        ElementType.METHOD,//方法
        ElementType.FIELD,//属性
})

//确定自定义的注解的使用范围为类类型为方法为方法,字段为为属性

@保留

@Returence()://(不添加参数默认是类)
@Returence(RetentionPolicy.CLASS)//保留到源码阶段和编译阶段

@Retension.RUNTIME(RetentionPolicy.RUNTIME)//保留到源码阶段和编译阶段和运行阶段保留到源码阶段@RetentionPolicy.SOURCE

//标注自定义注解使用的时机

Beans的包名含义

*实例,数据库中表有什么字段,这里面的类就有什么字段的实体
*:,
*域名地址:数据库表中有的字段,得有,数据库表中没有的字段也可以有
*POJO:实体+域名
他说:

@测试

不需要Main方法来执行方法

可以直接测试运行方法:

@SuppressWarning(“这里输入提示信息”)//消除编译时出现过时警告提示

电子邮件地址://

    @SuppressWarnings("弹压警告")
    public void getTime(){
//        Date date = new Date();
//        date.getDay();
        sayHi();
    }

    @Deprecated
    public void sayHi(){
        System.out.println("hi");
    }

*创建自定义一个注解

公共@接口dd{}

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Auto {

    int value() default 1;
    String name();
}

@Auto(value = 1,name = "saa")
class Doctor{}

注解中只有一个参数默认名字为值,自动默认后接@表默认值,这时中可直接添加值

除此之外得写参数名=xxx

*二、设计模式23种模式

·设计模式是在大量的实践中总结和理论化之后优选的代码结构,编程模式,解决问题的风格

一、创建型模式第5期

单例模式

工厂方法模式

抽象工厂模式

原型模式

建造者模式

二、结构型模式-7

适配器模式

桥接模式

装饰模式

组和模式

外观模式

享元模式

代理模式

三、行为型模式:11

模板方法模式

命令模式

迭代器模式

观察者模式

中介模式

备忘录模式

状态模式

解释器模式

职责链模式

策略模式

三、设计模式的六大原则

1个、开闭原则

对扩展开放,对修改关闭

设计文件时(类,接口,方法),不要把文件写死,要考虑文件的拓展性

代码在升级的过程中尽量不要改变和破坏原来的结构和功能,进行扩展

2个、里氏代换原则

如果调用的是父类的话,那么换成子类完全可以运行

在传参的时候,尽量写成当前参数的父类,这样可以传所有这个参数的子类,方法更加灵活

3个、依赖倒转原则

在开闭原则的基础上

面向接口编程,依赖抽象不依赖具体和指接口和实现类

4个、接口隔离原则

一个类如果能实现多个接口.实现多个接口降低耦合

不要把所有方法写在一个接口中,把有相同特点的方法写在一个接口中,方便管理

5、迪米特法则(最少知道原则)

类与类之间减少发生相互作用

对象和对象间减少依赖,使系统功能模块相对独立

6个、合成复用原则

(在一个新对象中使用已有的对象,(已有对象成为新对象的属性)

新对象通过向这些对象通过委派复用已有功能.注意不是继承.

(一个对象作为另一个对象的属性(引用数据类型)

尽量使用合成复用原则,减少继承的使用

四、单例模式

概念

一个类有且仅有一个实例,自行实例化,向整个系统提供

目的

内存中只有一个实例,减少内存开销,尤其是频繁的创建和销毁

避免对资源的多重占用比如文件读写操作

特点

单例模式的类只提供私有构造函数

类中还有一个该类的静态私有对象

提供一个静态的共有的方法用于创建获取它本身的私有静态对象

(饿汉式(非延迟加载)

无论对象是否用得到,一定会被创建,类被加载的同时就创建

懒汉式

*五、工厂模式

优点

工厂模式也是用来创建对象的可以实现一定程度上的松耦合

不需知道对象创建的过程只要知道调用接口传入的参数即可

概念

定义一个用于创建对象的接口让殊相类决定将哪一个类实例化

工厂方法使用一个类的实例化延迟到其实现类类

3个案例

*工厂独立于需求之外,负责生产对象的具体方法

需求是工厂生产水果水果可以是苹果香蕉橘子

那么可以建立工厂类、水果父类和具体的水果子类

水果又可以添加夏天要生产的西瓜,冬天吃的地瓜

最好写成接口,不要写死成具体类

最后案例测试





程序开发学习排行
最近发表
网站分类
标签列表