设计模式学习
大蜗友
大学生一枚,深知自己现在编程的水平还很菜,而且在学习的过程中,也会遇到过很多的问题,就想着把自己遇到的问题和解决方法总结来,减少各位编程爱好者要走的弯路,所以现在一边学习一边总结知识点。最后,希望我的的文章内容对你有用。
展开
-
里氏替换原则
LSP的原定义比较复杂,我们一般对里氏替换原则 LSP的解释为:子类对象能够替换父类对象,而程序逻辑不变。 里氏替换原则有至少以下两种含义: 1. 里氏替换原则是针对继承而言的,如果继承是为了实现代码重用,也就是为了共享方法,那么共享的父类方法就应该保持不变,不能被子类重新定义 。子类只能通过新添加方法来扩展功能,父类和子类都可以实例化,而子类继承的方法和父类是一样的,父类调用方法的地方,子类也可以调用同一个继承得来的,逻辑和父类一致的方法,这时用子类对象将父类对象替换掉时,当然逻辑一致,相安无事。转载 2021-12-27 19:57:10 · 452 阅读 · 0 评论 -
设计模式出现的目的
设计模式的目的 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)具有更好的 1)代码重用性(即:相同功能的代码,不用多次编写) 2)可读性(即:编程规范性,便于其他程序员的阅读和理解 3)可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护 4)可靠性(即:当我们增加新的功能后,对原来的功能没有影响 5)使程序呈现高内聚,低耦合的特性 分享金句: 设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对原创 2021-12-25 17:17:18 · 644 阅读 · 0 评论 -
我们来理解一下这个synchronized锁是何方神圣
1、通过对一个对象进行加锁来实现同步 2、对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。 3、无论是对一个对象进行加锁还是对一个方法进行加锁,实际上,都是对对象进行加锁 也就是说,对于方式2,实际上虚拟机会根据synchronized修饰的是实例方法还是类方法,去取对应的实例对象或者Class对象来进行加锁。 4、刚才我们说,锁实际上是加在对象上的,那么被加了锁的对象我们称之为锁对象,在java中,任何一个对象都能成为锁对象。 java对象在内存中的存储结构主要有一原创 2021-12-25 17:12:54 · 293 阅读 · 0 评论