Flutter学习笔记(三)
Flutter学习笔记(三)
¶1. 内置基础组件(图文)
¶1.1. Text
Text组件就可以当成是Android里面的TextView,用来显示一段文本
12345678Container( child: Text( '虚荣,是我最喜欢的原罪!', textAlign: TextAlign.center, overflow: TextOverflow.ellipsis, style: const TextStyle(fontWeight: FontWeight.bold), ), )
这里外面加了Container作为Text组件的父容器
textAlign属性用于居中文本,那应当是相当于Text自身,那需要关注一下Text组件自身有没有变化,之前的Align组件和Container的alignment属性都是会使容器变化的
因此加上一个样式属性,查看一下组件的有效区域
1234567891011Container( ...
Dart学习笔记(一)
Dart学习笔记(一)
作为编写Flutter应用的工具语言,当然还是还是跑不掉的
Dart是面向对象的、类定义的、单继承的语言。它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和sound type system 。 ——百度百科
由Google开发,Flutter基于Dart开发,并且在2018年,Dart2成为强类型语言,总的来说,它还比较新,目前对于它的了解仍停留在其是Flutter的**“工具语言”**
¶1. 程序的入口
至关重要的一点,程序的入口,与其他编程语言一样,Dart老实本分地遵循着传统,以main()作为起点
1234main() { // 或者void main表示没有返回值 print( ...
Gradle学习——Groovy基础
Gradle学习——Groovy基础
Groovy官方文档:The Apache Groovy programming language - Documentation (groovy-lang.org)
¶1. 概述
借用一下Apache官方的图
大体上看,官方将Groovy描述为一个Java平台上的多面手
这里列举了很多内容,我们主要需要了解到Groovy是基于JVM的面向对象编程语言就行了
¶2. 编写与调试步骤
目录创建build.gradle文件
build.gradle文件中创建task
task中用Groovy编写逻辑
build.gradle所在的目录下运行gradle <task名称>
¶3. 变量定义
123def a = 1 // 根据初始化的值,推断为int类型 int b = 2 // 指明类型为intdef c = "3" // 推断为String
默认情况下的访问修饰符都是public
¶4. 方法定义
与变量的定义非常类似,如果指明返回类型就可以不使用def,默认情况下访问修饰符类 ...
设计模式——六大原则
设计模式——六大原则
¶1. 单一职责原则(Single Responsibility Principle,SRP)
定义:就一个类而言,应该仅有一个引起它变化的原因
程序最终期望实现的是高内聚,低耦合,而内聚就体现在这里
就像一个团体一样,既然赋予了它姓名,那么参与者们就都有着相似的特征,并且内部的设施都是为此而服务的
拿足球俱乐部举个例子,其实可以把它当成是一个类,那么里面的人,可以看做是类的成员,比如:球员、教练、队医、司机
而各种设施也是围着球队工作,可以把它们当做是类的方法,比如:球场集体训练、健身房强化锻炼、更衣室冲澡这些都是为这个整体服务,与足球俱乐部这个集体紧密相关
因此,在代码层面上的表现就是:这个类有着相关性很高的函数(Method)以及数据(Field)
然而相关性这一点其实界限很模糊,因此这往往就依赖于开发者自身理解和工作经验了()
¶2. 开闭原则(Open Close Principle,OCP)
这是Java世界里最基础的设计原则
定义:软件中的对象(类、模块、函数等)应对于扩展开放,但是对于修改是封闭的
我认为,这可以理解成对现有的逻辑代码的一种 ...