| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Rust官网【Rust程序设计语言】随书笔记与代码
设计模式代码练习
命令行工具
网络服务器
网页应用
嵌入式开发
等
rust编译器很重要
cargo
rustfmt
rust language server
操作系统开发、命令行工具、网络服务、DevOps工具、嵌入式设备、音视频分析与转码、加密货币、生物信息学、搜索引擎、IOT、ML等
零开销抽象
安全、高效、速度、易读易用兼得
概念章节
项目章节
所有权ownership
struct, enum, match, if let, module, vector, string, hash map
私有性与公开api
错误处理技术和理念
泛型generic、Trait、lifetime
grep
closure闭包,iterator, 函数式编程
并发编程模型,thread
模式和模式匹配
unsafe rust
macro 类型,函数与闭包
预编译静态类型ahead-of-time compiled
cargo是rust的构建系统和包管理器
依赖dependencies
cargo new project_name
cargo build,构建项目
cargo run ,构建并运行项目
cargo check,在不生成二级文件的情况下构建项目来检查错误
cargo release
cargo update
一种范式,其理念是将数据块及数据相关的行为封装成特殊的、名为对象的实体,同时对象实体的生成工作则是基于程序员给出的一系列蓝图,这些蓝图就是类
对象是类的某一个实例
成员变量
方法
状态
类的层次关系
UML:以空心箭头为顶端指向超类:继承
UML:普通箭头表示某个类基于另外的类
UML:空心三角箭头和虚线代表类实现了接口
UML:普通虚线箭头,表示依赖关系
UML:普通实线箭头表示关联关系
UML:空心菱形为末端指向普通实现箭头为顶端表示聚合关系
UML:一段为实心菱形,另一端为实线普通箭头,表示组合关系
面向对象程序设计:
interface表示对象的公有部分
接口只拥有方法
一个子类只有一个父类,但可以实现多个接口
依赖:对类B进行修改会影响到类A
关联:对象A知道对象B,类A依赖类B
聚合:对象A知道对象B,且有B构成。类A依赖与类B
组合:对象A知道对象B,由B构成且管理B的声明周期
实现:类A定义的方法由接口B声明,对象A可视为对象B。类A依赖于类B
继承:类A继承类B的接口和实现,但是可以对其进行扩展。对象A可视为对象B。类A依赖于B
在最底层,可以复用类库、容器、容器和迭代器
框架
中间层【设计模式比框架更小更抽象,是对一组类的关系及其互动方式的描述】
中间层的优点:在于模式提供的复用方式要比框架的风险小
封装变化的内容
面向接口进行开发,而不是面向实现
依赖于抽象类型而不是具体类型
示例:
多态机制能帮助简化代码
组合优于继承
| Back | FazBrowse Home | New Git URL |