学习笔记
文章平均质量分 58
迷茫的大钱
这个作者很懒,什么都没留下…
展开
-
面向对象的六大原则——学习笔记
1.单一职责原则(SRP)通俗来讲,就是每个类(方法)只有一个职责(或者说功能),这样的好处是,代码便于维护,可扩展,使用灵活。2.开闭原则(OCP)个人理解,开闭原则就是说,我们的类(对象,方法,模块)应该是可扩展的,并且在升级、更新、维护时不需要修改原来的代码,防止引入bug。当然这只是最理想的状态,但却是我们应该努力的方向。想要实现开闭原则,首先我们的代码就要满足可扩展,这样...原创 2018-08-28 17:54:05 · 200 阅读 · 0 评论 -
数据结构和算法的定义——学习笔记
数据结构:数据结构是指数据在计算机存储空间(或磁盘)中的安排方式,比如,我们要存储一组类型相同的数据可以用数组或集合存放到计算机的存储空间,这里的数组和集合就是一种简单的数据结构。算法:算法是指软件程序用来操作数据结构中的数据的过程。比如,我们要操作集合或数组中的某一个元素,这个时候我们需要用循环来遍历数组或集合,这个过程就是一种简单的算法。...原创 2018-10-10 15:05:16 · 186 阅读 · 0 评论 -
数据结构的特性——学习笔记
下面以一张表来简单说下几种常用的数据结构的特性:数据结构的特性 数据结构 优点 缺点 数组 插入快,如果知道下标,可以快速存取 查找慢,删除慢,大小固定 有序数组 比无序数组查找快 删除和插入慢,大小固定 栈 提供先进后出方式的存取 存取其它项很慢 堆 插入、删除快,对最大数据项存取很快 存取其它数据项存取慢 队...原创 2018-10-11 10:08:40 · 176 阅读 · 0 评论 -
模板方法模式——学习笔记
模板方法模式,就是把一套固定的流程抽象成一张模板,然后由它的子类去具体实现流程中的每个步骤。模板方法模式主要解决的是流程固定,但是每个步骤又可以有不同的实现的问题,比如我们开发中最常用的activity的生命周期方法,执行的顺序是固定的,但是每个生命周期方法内的具体实现又是不同的,这就是一个模板方法模式在实际中的应用。模板方法模式的定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,...原创 2018-09-20 16:27:52 · 151 阅读 · 0 评论 -
责任链模式——学习笔记
现实中的锁链大家肯定都见过,责任链模式就是把锁链的结构应用在编程中的体现。这种结构的好处在于每个节点都可以拆下,而不影响其他节点再连接,这样就具有了很高的灵活性。在编程中,这个链式结构上的没个节点都是一个对象,我们把要执行的指令从链式结构的首端沿着链式结构的每个节点依次传入,直到有链式结构上的对象执行该指令,这里执行指令的对象可以是1个也可以是多个,我们把这种模式称为责任链模式这样就实现了发出指令...原创 2018-09-12 14:16:56 · 158 阅读 · 0 评论 -
状态模式——学习笔记
状态模式的结构几乎和策略模式一模一样。状态模式是指代码中的方法的执行由状态来控制,在不同的状态下,执行不同的方法。状态模式的各个状态下的操作是平行的不可替换的,而策略模式的每种策略是相互独立的可替换的,这是两种设计模式的区别。状态模式的定义:当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是改变了其类。这是书中给的定义,前半句还好理解,但是后半句完全不明所以。下面来看下该模式的简单实...原创 2018-09-06 17:23:36 · 106 阅读 · 0 评论 -
策略模式——学习笔记
策略模式,简单来说就是在实现某个目的时有多种方法,每个方法就是一种策略,而开发人员为了代码结构清晰、精简,便于后期维护和升级,所采用的一种设计模式。策略模式定义:策略模式定义了一系列算法,并把每个算法封装起来,而且使他们可以相互替换。策略模式使算法可以独立于使用它的客户而独立变化。个人理解就是说,我们把实现某个功能的不同方法独立封装起来,并通过多态的特性使各个方法的封装可以相互替换,使得各...原创 2018-09-06 14:52:40 · 164 阅读 · 0 评论 -
原型模式——学习笔记
正确的使用原型模式,可以使我们的代码运行更高效。原型模式是一个创建型的设计模式。从名字可以看出,原型模式应该有一个样板实例,我们可以从个样板实例复制出一个内部属性一致的对象,这个过程就是我们俗称的“克隆”。被复制的实例就是“原型”,原型是可定制的。原型模式多用于创建复杂或者构建耗时的实例,使用原型模式复制一个已经存在的实例可以使程序运行更高效。下面看一下原型模式的简单实现:/***...原创 2018-09-03 17:12:56 · 221 阅读 · 0 评论 -
工厂方法模式——学习笔记
工厂方法模式看完书上对工厂方法模式的介绍,也参考了一些大神的博客,个人理解就是把一组具有共同属性的类(产品),抽象出一个父类(抽象产品类),然后通过一个工厂类来获得具体的产品。这样做的好处是:1.降低了用户对象与产品对象之间的耦合度,用户只要和工厂打交道即可;2.遵循开-闭原则,需求变动时只要修改或新增对应的产品类,不会影响到其他产品的生产,提高了代码的可维护性和可扩展性。当然有好处就有坏处:...原创 2018-09-05 18:00:11 · 242 阅读 · 0 评论 -
Builder建造者模式——学习笔记
先上代码:abstract class ComputerKotlin{ protected var mBoard:String=""//核心数 protected var mDisplay:String=""//内存 protected var mOs:String=""//操作系统 fun setBoard(board:String){ th...原创 2018-08-30 11:01:36 · 218 阅读 · 0 评论 -
单例模式——学习笔记
单例模式,每个程序员在开发中都需要用到的设计模式,也是所有设计模式中最简单,应用最多的。单例模式根据创建的单例的时机可以分为饿汉、懒汉两种;根据创建方式又可以分为静态内部类单例、枚举单例两种。1.饿汉单例模式public class Person{ private static Person person=new Person();//创建一个私有的静态对象 priva...原创 2018-08-29 11:37:56 · 139 阅读 · 0 评论 -
Python 开发之飞机大战——学习篇
下面是我自学python时,写的一个小实例——飞机大战:精灵类:import randomimport pygamefrom pygame.locals import *SCREEN_RECT = pygame.Rect(0, 0, 600, 800)FRAME_PER_SEC = 60CTEAT_ENEMY_EVENT = pygame.USEREVENTHERO_FIRE...原创 2018-12-11 15:24:50 · 2017 阅读 · 1 评论