![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
whp404
这个作者很懒,什么都没留下…
展开
-
深入理解《java 7 核心技术和最佳实践》读书笔记--(4)
java源代码到字节代码再到虚拟机的运行过程,每一步都有不同的实现方式,比如,可以不使用javac,直接在运行时动态编译源代码;字节代码不由编译器生成,而是使用工具来动态创建;在字节代码被虚拟机执行前,可以通过修改字节代码的内容来改变程序行为 字节代码的一些知识点 字节代码并不是只存在于class文件中,还可以通过网络下载,或者由程序动态生成,字节代码更精确的定义是包含单个java类或接口定...原创 2020-03-07 19:38:07 · 98 阅读 · 0 评论 -
单例模式的小总结
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一 实现方式 一个类的对象的产生是由类构造函数来完成的。如果一个类对外提供了public的构造方法,那么外界就可以任意创建该类的对象。所以,如果想限制对象的产生,一个办法就是将构造函数变为私有的(至少是受保护的),使外面的类不能通过引用来产生对象。同时为了保证类的可用性,就必须提供一个自己的对象以及访问...原创 2018-07-16 16:04:54 · 124 阅读 · 0 评论 -
里氏替换原则
所有引用基类的地方必须能够透明的使用其子类的对象,通俗的说,只要父类可以出现的地方子类就可以出现 在类中调用其他类的时候,务必使用父类和接口,如果不能使用父类或接口,这说明类的设计已经违反LSP原则 需要注意的是:所有子类中方法的前提条件必须与超类中被覆写的方法的前提条件相同或更宽松 如果子类覆写父类方法,子类的返回值类型S一定是父类返回值类型 T相同,或是T是S父类,...原创 2018-07-30 22:46:23 · 1998 阅读 · 0 评论 -
依赖倒置 与 接口隔离
依赖倒置 (DIP) 原始定义 a. 高层模块不应依赖低层模块,两者应都依赖其抽象 b. 抽象不应依赖细节 c. 细节应依赖抽象 (细节即实现类,抽象即接口或抽象类) 在Java中的表现: a. 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的 b. 接口或抽象类不依赖于实现类 c. 实现类依赖接...原创 2018-07-30 23:35:33 · 452 阅读 · 0 评论 -
设计模式读书笔记-工厂模式
单例模式的学习 优化了性能,节省内存开支 单例模式一般没有接口,比较难以拓展,这也意味着难以测试(没有mock) 单例模式也有线程安全问题(懒汉式可能有线程安全问题) 如果实现了cloneable接口,并实现了clone方法,则可以直接通过对象复制的形式创新一个新对象(不用调用构造器),所以单例类最好不实现cloneable接口 工厂设计模式 抽象设计工厂模式 定义一个用于创建对象的 接口,让...原创 2018-11-23 22:52:29 · 118 阅读 · 0 评论