
面向对象设计原则
文章平均质量分 56
卖酒的小码农
这个作者很懒,什么都没留下…
展开
-
C++面向对象思维刷题
做题面试应该时刻保持面向对象的思维、封装的特性。要记得C++写库的人和使用库的人的协作,写库写成什么样子别人才敢用,才用得舒服顺手,都需要写C++库的时候考虑全面。三简单算法题;1、两个数组 都是从大到小 先合并成一个从大到小的数组2、合并重复区间,3、仿照vector实现动态数组题目不难,但是做起来的时候考虑不够全面,面向对象思维不够深,没有往那方面去思考。一;首先建立工程的时候就要注意,这是三道题目可以建立一个工程,分三个类,则一个main函数就可以完成测试,不需要建三个工程或者三个mai原创 2021-03-04 11:20:56 · 533 阅读 · 2 评论 -
面向对象的设计原则——先放好概念,等学完26种模式之后再回过头来写心得
1、依赖倒置原则(隔离变化区)高层模块(稳定)不应该依赖于底层模块(变化),两者都应该依赖于抽象(稳定)。抽象(稳定)不应该依赖于实现细节(变化),而细节应该依赖于抽象(稳定)。大致分析一下,其实就是设计模式主要要隔离变化区,也就是把稳定的和变化的分开。那么什么是变化的呢?(这个要拿出时间轴,分析未来这个会有什么变化,有什么需求的增加减少,这个角度来考虑是变化还是稳定的)。学习设计模式一...原创 2019-07-21 17:43:05 · 265 阅读 · 0 评论 -
组件协作分类的三大模式
组件协作模式;主要是通过晚期绑定实现框架与应用之间的松耦合。现在的软件开发都是分为框架与应用程序两部分,就以公司软件开发也是以这种模式的。组件协作模式主要包括三种模式;模版方法模式;用于有稳定骨架,但骨架中有存在变化点,将变化点交给子类实现策略模式;调用算法的流程是稳定不变的,但算法是变化的。观察者模式;一般应用于ui控件的通知和刷新1、模版方法模式概念;存在一个骨架是稳定的,把变化...原创 2019-07-21 20:47:53 · 821 阅读 · 0 评论 -
单一职责分类的装饰者模式和桥模式
单一职责大概就是让每个类的职责任务作用都是单一的,而不是臃肿复杂的。单一职责分类的设计模式包括装饰者模式和桥模式。装饰者模式;利用对象组合,解决主体类在多个方向上的扩展能力。桥模式;利用对象组合,解决“两个非常强的变化维度的设计问题”装饰者;采用组合而非继承的方法,实现了在运行时动态扩展对象功能的能力而且可以根据需要扩展多个功能,避免错误使用继承带来的灵活性差,多子类带来的问题。举例;...原创 2019-07-28 20:18:43 · 287 阅读 · 0 评论 -
对象创建模式(跳过new直接的使用)
对象创建模式;就是通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖于具体的类)其中包括工厂模式;抽象工厂;原型模式;构建器;4个其实都是基于工厂模式有一点点 小变化。工厂模式就是定义一个用于创建对象的接口,让子类决定去实例化哪一个类,工厂方法就是使得一个类的实例化延迟到子类去。对象创建模式其实就是解决赋值时等号右边的new而形成的依赖实现类子类的问题。...原创 2019-07-28 21:23:45 · 507 阅读 · 0 评论 -
对象性能模式——单件模式和亨元模式
单件模式;之前的模式都是与项目整体的设计相关的,什么高内聚,松耦合、多态,隔离。但是对象性能模式不是从这些方面的设计模式、而是从软件的性能方面入手的、其实与公司代码里面很多类对象实现的那种单例是一个意思、唯一的目的就是如果这个类的对象在项目中要经常高频率的时候,那么如果常规的话就需要去不断new对象,那么就耗内存不利于项目的性能。因此就 出现了对象性能模式这两种模式、目的就是达到在整个项目中不需...原创 2019-08-11 19:00:13 · 261 阅读 · 0 评论 -
“接口隔离”模式
“接口隔离”模式其本质就是采用添加一层【间接】的稳定的接口,来隔离本来相互紧密关联的接口。其实间接的方法在之前很多设计模式都可以体现到,如依赖倒置原则,就是通过添加一层间接的接口,将new方法隔离出去,实现多态。这里统一将接口隔离只是他十分突出。1、门面模式;主要用于内部与外部之间的隔离。就是将一组关系很强的紧耦合的一组接口进行封装,并都交给一个接口,这就是门面,并且外部要访问这内部的一些接口只...原创 2019-08-11 19:57:56 · 212 阅读 · 0 评论 -
“状态变化”模式的两种——State状态模式,Memento备忘录模式
当某些对象的状态经常面临改变的时候(状态的改变也会意味着行为也会改变),如何对这些变化进行管理,并同时维持高层模块的稳定。这就是“状态变化”模式需要解决的。State模式其实就是类似于策略模式,只是策略模式针对的是算法的变化,而我们这里是对象状态的改变,基本是一样的,(公司软件界面功能的跳转似乎就是用的状态模式,用一个类来存放操作与下一个该是什么界面。每个节点都变成单一的一个类,利用设置下一个界...原创 2019-08-18 15:32:26 · 559 阅读 · 0 评论