怎么说,其实我挺讨厌设计模式的,但是不得不说,这东西解决问题确实有一手,并且设计模式确实规范了我们在开发中的代码,并且我们可以使用这二十三种设计模式解决我们碰到的业务问题,并且我们学的框架里边多多少少使用了设计模式。
我作为刚刚进入门槛的小白,还尚未是一个合格的程序员,老实说,我真的讨厌这个设计模式,但是软件设计师考试,找工作面试,看框架底层源码都有他的影子,没办法,为了我自己的程序员生涯,我又不得不去学,事先说明,博主很菜,写的文档也不一定很准确,但是我还是会认真的写好这几篇关于设计模式的文章的。
没办法,人总的向前看(当然要学会偷一点懒),好了废话就说到这里,有兴趣就看,没兴趣当做博主在这里记录笔记就行了。
设计模式的6大准则:
讲设计模式之前,我们需要软件开发的6大准则:
我先背一下:
- 迪米特原则
- 开闭原则
- 里氏替换原则
- 单一职责
- 依赖倒置原则
- 接口隔离原则
嗯,没错,就是这几大准则,原则准则,我也懒得管了。
迪米特原则(Law of Demeter,LoD)
一个对象应该对其他对象有最少的了解。也就是说,一个对象应该对自己需要的对象和方法尽可能少的了解,只与直接的朋友通信。直接的朋友是指出现在成员变量、方法输入、输出参数中的类。这样可以降低对象之间的耦合度。
开放封闭原则(Open-Closed Principle,OCP)
开放封闭原则(Open-Closed Principle,OCP):一个软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。在不修改原有代码的情况下,可以通过扩展来增加新的功能。
里氏替换原则(Liskov Substitution Principle,LSP)
里氏替换原则(Liskov Substitution Principle,LSP):子类必须能够替换掉它们的父类,而不影响程序的正确性。也就是说,继承关系中父类能出现的地方子类都可以出现。
单一职责原则(Single Responsibility Principle,SRP)
单一职责原则(Single Responsibility Principle,SRP):一个类只负责一个功能领域中的一种职责,即一个类只有一个引起它变化的原因。这样可以使类更加内聚,降低代码的耦合度。
依赖倒置原则(Dependency Inversion Principle,DIP)
依赖倒置原则(Dependency Inversion Principle,DIP):高层模块不应该依赖于底层模块,两者都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
接口隔离原则(Interface Segregation Principle,ISP)
接口隔离原则(Interface Segregation Principle,ISP):一个类对另一个类的依赖应该建立在最小的接口上。应该尽量避免一个类依赖于它不需要的接口。
===============================================
这六大原则是我们了解设计模式的基础,需要了解加记忆,我相信只要你理解一下就很容易掌握的,毕竟确实也不是很难记,这个面试常问,我觉得这样的题应该算是送分题,但是面试官可能会让你举例说明,这样就不一样了。
设计模式的类型:
创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式,原型模式。(工单建原)
结构性模式共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(适装外代享组桥)
行为型模式共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。(策模观迭责命备,状访中解)
我给一张图放置这里,不要小瞧这张图,软件设计师中,靠这张图,你可以提高好几分。
本篇到此结束,下篇将使用图片和代码的形式进行设计模式正片。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/197968.html