恒的博客

且随疾风前行,身后亦需留心

协程——一个线程框架

Kotlin的协程 协程是啥? 一个线程框架 他好在哪? 方便 最方便地方在哪? 它能够在一个代码块里面进行多次的线程切换

单例与Double-Checked Locking

参考博客:设计模式(二)单例模式的七种写法 单例模式的几种实现 1.饿汉模式 public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){ } public static Singleton ge...

Kotlin 标准函数

原文链接 Kotlin的一些标准函数非常相似,我们不确定使用哪个函数。在这里我将介绍一个简单的方法来清楚地区分他们的差异和如何选择使用。 范围函数 我重点关注run, with, T.run, T.let, T.also and T.apply函数。我称他们为范围函数,因为我认为他们的主要功能是为调用函数提供一个内部范围。 run函数是说明最简单的范围方法 fun test() { ...

RecyclerView 与 子 View 的滑动冲突处理

1.RecyclerView 的 onInterceptTouchEvent 在实际工作中,我们经常会遇到需要处理 RecyclerView 和子 View 的滑动事件冲突的情景,而 RecyclerView 去拦截滑动事件的代码在 onInterceptTouchEvent 方法里: case MotionEvent.ACTION_MOVE: { final int index =...

Java 反射

转载自 深入解析Java反射(1) - 基础 一、什么是反射? Java 反射机制在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态的获取信息以及动态调用对象的方法的功能称为 java 的反射机制。 反射机制很重要的一点就是“运行时”,其使得我们可以在程序运行时加载、探索以及使用编译期间完全...

设计模式——MVVM

什么是MVVM? MVP是对MVC的C的演化,MVVM是对MVP的P的演化。 MVC MVC全名是Model-View-Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务...

软件架构

软件架构的研究内容主要涉及软件架构描述、软件架构设计、软件架构风格、软件架构评价和软件架构的形成方法等。 软件设计人员学习软件架构知识旨在站在较高的层面上整体地解决好软件的设计、复用、质量和维护等方面的实际问题。 软件架构概述  软件架构是软件抽象发展到一定阶段的产物,从编程的角度,可以清晰地看到软件抽象层次和表达工具的发展历史。 20 世纪 60 年代是子程序...

功能模块划分

首先对于功能模块划分提出两个问题: 功能模块划分时应遵循什么样的原则? 功能模块划分有哪些比较好的方法? 功能模块划分需遵循的原则 首先说一下第一个问题:功能模块划分时应遵循什么样的原则? 原则:高内聚,低耦合 耦合:模块之间的联系紧密程度 非直接耦合 两个模块之间没有直接关系,它们之间的联系完全时通过主模块的控制和调用来实现的。耦合度最低,模块独立...

《软件设计文档》?

项目团队需要保障软件设计文档的完整性和一致性,在项目进度紧张的情况下,软件设计文档可以更初略一些;在项目时间充裕的情况下,相关文档可以更为详尽。但是在项目开发过程中,需要软件设计开发团队对于设计文档有共同的理解。 软件设计文档分类与使用 通常来说,作为软件项目,我们需要有这几类文档 需求说明文档 功能设计文档 系统架构说明书 模块概要设计文档 模块详细设计文档...

《软件需求规格说明书》?

首先,什么是《软件需求规格说明书》? 《软件需求规格说明书》简称SRS,software requirements specification。SRS一般不是企业/客户(委托方)所做,而是软件开发团队(被委托方)根据企业的非标准文本或口述资料整理所得。SRS也不仅仅是为了明确需求,更是为了协调各方(企业用户、架构师、开发者、测试人员、部署人员)统一目标的第一个标准文档。一旦项目比较庞大...