手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
人工智能
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
网络运维
技术频道
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
第
第专题提供第的最新资讯内容,帮你更好的了解第。
第2章 单一指责原则(SRP)
一、单一指责原则(single responsibility principle, SRP) 什么是类的职责?以及怎么划分类的职责 1、单一指责的定义:应该有且仅有一个原因引起类的变更。 变化的原因就是所说的"职责"。 2、如果一个类有多个引起它变化的原因,也就意味着这个类有多个职责。即把多个职责耦合在一起了。 3、“职责”的粒度不好量化。实际开发中,这个原则最容易违反 二、单一指责的优点 1、类
作者:佚名 时间:2020-06-20
第3章 里氏替换原则(LSP)
一、定义 (1)、所有使用基类的地方必须能够使用子类进行替换,而程序的行为不会发生任何变化(替换为子类之后不会产生错误或者异常)。 只有这样,父类才能真正被复用,子类能够在父类的基础上增减新的属性和行为。才能真正的实现多态行为。 (2)、当子类继承父类的时候,子类就拥有了父类的属性和行为。(注意:只是类型而已) 但是如果子类覆盖父类的某些方法,那么 原来使用父类的地方就可能出现错误。(如何理
作者:佚名 时间:2020-06-20
第4章 依赖倒置原则(DIP)
一、定义 1、模块间要依赖抽象,不要通过具体的实现类。依赖关系通过接口(抽象)进行编程,这就降低客户与实现模块间的耦 合。(接口或抽象类不依赖于实现类,实现类依赖接口或抽象类 面向接口编程OOD) 包含三层含义: (1)高层模块不应依赖于低层模块,两者都应该依赖其抽象 (2)抽象不应该依赖细节 (3)细节应该依赖于抽象 2、高层模块和底层模块的概念 (1)低层模块:每个逻辑的实现都是原子逻辑组成
作者:佚名 时间:2020-06-20
第3章 单一职责原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。 大多数时候,一件产品简单一些,职责单一一些,或许是更好的选择。 在程序中的意思就是:就一个类而言,应该仅有一个引起它变化的原因。 当我们把很多功能写在一个类中,就会导致维护麻烦,复用不可能,更是缺乏灵活性 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设
作者:佚名 时间:2020-06-21
第5章 依赖倒转原则
概念解释:依赖倒转原则 A:高层模块不应该依赖低层模块。俩个都应该依赖抽象 B:抽象不应该依赖细节。细节应该依赖抽象 简而言之就是要针对接口编程,不用对实现编程。 Q: 为什么依赖了抽象和接口的抽象类就不怕被更改呢? A: 里氏代换原则:子类型必须能够替换掉他们的父类型 白话翻译:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它觉察不出父类对象和子类对象的区
作者:佚名 时间:2020-06-21
第13章 依赖注入
一、 软件设计模式 为更好地理解依赖注入的概念,以及如何将其应用于MVC程序中,首先了解一下软件设计模式是很有必要的。 1 、设计模式——控制反转模式 代码如下: public class EmailService { public void SendMessage() { } } //NotificationSystem类依赖于EmailService类
作者:佚名 时间:2020-06-27
第一节 依赖倒置设计原则DIP的诞生
从前有一个这样的业务 代码编号01 需求:在MSSQLServer数据库中添加订单信息 step 1 构建MSSQLServer环境,有添加功能 public class MSSQLServer { public void Insert(){...} } setp 2 构建订单服务,向MSSQLServer环境添加数据 public class OrderService { pri
作者:佚名 时间:2020-06-27
第一篇COM文章翻译完成了
作者还有第二篇关于COM入门的文章,考虑也翻译一下。最近看C++看累了就学学Lua,看的是《Programming In Lua》,感觉挺不错的。GameDev有一篇 A Introduction to Lua 挺不错的,在网上搜了搜似乎也没什么人翻译,有时间一定翻译一下,不过真的好长啊。。。-_- print ( " 为什么没有Lua代码的高亮显示?! " ) for i = 1 , 100
作者:佚名 时间:2019-04-23
第0章 序言
第0章 序言 本章包括作者的序言、文章的体例( convention )以及其它一些“每本书开头都会的内容”。 0.1 序言 目前很多程序语言都专注于帮你编写成千上万行的代码,所以此类型的语言所提供的包、命名空间、复杂的类型系统及无数的结构,有上千页的文档需要操作者学习。 而 Lua 并不帮你编写大量的代码的程序,相反的, Lua 仅让你用少量的代码解决关键问题。为实现这个目标,像其他语言一样 L
作者:佚名 时间:2019-06-19
第2章 类型和值
第2章 类型和值 Lua 是动态类型语言,变量不要类型定义。 Lua 中有 8 个基本类型分别为: nil 、 boolean 、 number 、 string 、 userdata 、 function 、 thread 和 table 。函数 type 可以测试给定变量或者值的类型。 print(type("Hello world")) --> string print(type(
作者:佚名 时间:2019-06-19
第1章 起点
第1章 起点 写一个最最简单的程序—— Hello World 。 print("Hello World") 假定你把上面这句保存在 hello.lua 文件中,你在命令行只需要: prompt> lua hello.lua 看到结果了吗 ? 让我们来看一个稍微复杂点的例子: -- defines a factorial function function fact (n) if n ==
作者:佚名 时间:2019-06-19
第3章 表达式
第3章 表达式 Lua 中的表达式包括数字常量、字符串常量、变量、一元和二元运算符、函数调用。还可以是非传统的函数定义和表构造。 3.1 算术运算符 二元运算符: + - * / ^ ( 加减乘除幂 ) 一元运算符: - ( 负值 ) 这些运算符的操作数都是实数。 3.2 关系运算符 < > <= >= == ~= 这些操作符返回结果为 false 或者
作者:佚名 时间:2019-06-19
第5章 函数
第5章 函数 函数有两种用途: 1. 完成指定的任务,这种情况下函数作为调用语句使用; 2. 计算并返回值,这种情况下函数作为赋值语句的表达式使用。 语法: function func_name (arguments-list) statements-list; end; 调用函数的时候,如果参数列表为空,必须使用 () 表明是函数调用。 print(8*9, 9/8) a = math.
作者:佚名 时间:2019-06-19
第4章 基本语法
第4章 基本语法 Lua 像 C 和 PASCAL 几乎支持所有的传统语句:赋值语句、控制结构语句、函数调用等,同时也支持非传统的多变量赋值、局部变量声明。 4.1 赋值语句 赋值是改变一个变量的值和改变表域的最基本的方法。 a = "hello" .. "world" t.n = t.n + 1 Lua 可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边
作者:佚名 时间:2019-06-19
第7章 迭代器与泛型for
第7章 迭代器与泛型for 在这一章我们讨论为范性 for 写迭代器,我们从一个简单的迭代器开始,然后我们学习如何通过利用范性 for 的强大之处写出更高效的迭代器。 7.1 迭代器与闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。在 Lua 中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。 迭代器需要保留上一次成功调用的状态和下一次成功调用的状态,也就是他
作者:佚名 时间:2019-06-19
第6章 再论函数
第6章 再论函数 Lua 中的函数是带有词法定界( lexical scoping )的第一类值( first-class values )。 第一类值指:在 Lua 中函数和其他值(数值、字符串)一样,函数可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值。 词法定界指:嵌套的函数可以访问他外部函数中的变量。这一特性给 Lua 提供了强大的编程能力。 Lua 中关于
作者:佚名 时间:2019-06-19
第8章 编译·运行·错误信息
第8章 编译·运行·错误信息 虽然我们把 Lua 当作解释型语言,但是 Lua 会首先把代码预编译成中间码然后再执行(很多解释型语言都是这么做的)。在解释型语言中存在编译阶段听起来不合适,然而,解释型语言的特征不在于他们是否被编译,而是编译器是语言运行时的一部分,所以,执行编译产生的中间码速度会更快。我们可以说函数 dofile 的存在就是说明可以将 Lua 作为一种解释型语言被调用。 前面我们介
作者:佚名 时间:2019-06-19
第10章 完整示例
第10章 完整示例 本章通过两个完整的例子,来展现 Lua 的实际应用。第一个例子来自于 Lua 官方网站,其展示了 Lua 作为数据描述语言的应用。第二个例子为马尔可夫链算法的实现,算法在 Kernighan & Pike 著作的 Practice of Programming 书中有描述。本章结束后, Lua 语言方面的介绍便到此结束。后续章节将分别介绍 table 与面向对象( object
作者:佚名 时间:2019-06-19
第12章 数据文件与持久化
第12章 数据文件与持久化 当我们处理数据文件的,一般来说,写文件比读取文件内容来的容易。因为我们可以很好的控制文件的写操作,而从文件读取数据常常碰到不可预知的情况。一个健壮的程序不仅应该可以读取存有正确格式的数据还应该能够处理坏文件(译者注:对数据内容和格式进行校验,对异常情况能够做出恰当处理)。正因为如此,实现一个健壮的读取数据文件的程序是很困难的。 正如我们在 Section 10.1 (译
作者:佚名 时间:2019-06-19
第11章 数据结构
第11章 数据结构 table 是 Lua 中唯一的数据结构,其他语言所提供的数据结构,如: arrays 、 records 、 lists 、 queues 、 sets 等, Lua 都是通过 table 来实现,并且在 lua 中 table 很好的实现了这些数据结构。 在传统的 C 语言或者 Pascal 语言中我们经常使用 arrays 和 lists ( record+pointer
作者:佚名 时间:2019-06-19
上一页
1
2
3
4
下一页
小编推荐
苹果市值2025年有望达4万亿美元
• OPPO Find X8全系标配50W无线充电:支持
• 华为GT5 Pro手表开售:首发向日葵定位系
• 骁龙X Elite处理器CPU面积庞大无比 远超
• 杨幂巴黎时装周手持华为Mate XT三折叠拍
• iPhone 16价格对比:中国最便宜 比均价
• 深圳通交通卡限时免费开卡:支持华为、
• 荣耀笔记本X16 2025首销:酷睿i5-13420
热门标签
更多
python
JavaScript
java
HTML
PHP
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot