耦合性

02-django框架介绍

时光怂恿深爱的人放手 提交于 2020-03-25 08:32:31
Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。 想要更详细的了解MVC模式? >> 点我 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性。 Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。 Django的MTV模式 Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template Django框架图示 APP 一个Django项目可以分为很多个APP,用来隔离不同功能模块的代码。 命令行创建 python manage.py startapp app01 使用PyCharm创建 在下方弹出的命令窗口输入: startapp app01

【计算机二级Java语言】卷003

送分小仙女□ 提交于 2020-03-10 14:37:50
选择题 公共知识 【1】 下列叙述中正确的是()。 〖A〗 栈是“先进先出”的线性表 〖B〗 队列是“先进后出”的线性表 〖C〗 循环队列是非线性结构 〖D〗 有序线性表既可以采用顺序存储结构, 也可以采用链式存储结构 栈是先进后出的线性表, 所以A错误; 队列是先进先出的线性表, 所以B错误; 循环队列是线性结构的线性表, 所以C错误。 【2】 支持子程序调用的数据结构是()。 〖A〗 栈 〖B〗 树 〖C〗 队列 〖D〗 二叉树 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表, 在主程序调用子函数时要首先保存主程序当前的状态, 然后转去执行子程序, 最终把子程序的执行结果返回到主程序中调用子程序的位置, 继续向下执行, 这种调用符合栈的特点, 因此本题的答案为A。 【3】 某二叉树有5个度为2的结点, 则该二叉树中的叶子结点数是()。 〖A〗 10 〖B〗 8 〖C〗 6 〖D〗 4 根据二叉树的基本性质3: 在任意一棵二叉树中, 度为0的叶子节点总是比度为2的节点多一个, 所以本题中是5 + 1 = 6个。 【4】 下列排序方法中, 最坏情况下比较次数最少的是()。 〖A〗 冒泡排序 〖B〗 简单选择排序 〖C〗 直接插入排序 〖D〗 堆排序 冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n - 1) / 2次,

程序中的耦合与解耦学习(一)——耦合性

狂风中的少年 提交于 2020-03-03 21:24:47
本文供自己学习笔记使用,参考了百度百科以及网友总结的知识点 百度百科 参考文档1-简书网友 一、耦合性 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。 耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。 形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要在其他的类引入接口,就像电脑上的usb接口。 二、耦合性构成 简介 一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(独立性由强到弱)以下; 1、非直接耦合(Nondirect Coupling) 如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。 2、数据耦合(Data Coupling)

编程中什么叫耦合

喜夏-厌秋 提交于 2020-02-27 12:38:47
耦合 性是编程中的一个判断代码模块构成质量的属性,不影响已有功能,但影响未来拓展,与之对应的是内聚性。 耦合 性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其 耦合 性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 因此,现代程序讲究高内聚低耦合,即将功能内聚在同一模块,模块与模块间尽可能独立,互相依赖低。没有绝对没有耦合的模块组,只有尽量降低互相之间的影响。使模块越独立越好。 来源: oschina 链接: https://my.oschina.net/u/4295960/blog/3157948

Spring入门(一)

╄→гoц情女王★ 提交于 2020-02-25 23:53:11
Spring简介 文章目录 Spring简介 1、什么Spring? 2、Spring的优势 3、Spring体系结构 一、现在程序面临着什么问题 1、程序耦合性太强 2、程序解耦 2.1、采用工厂模式进行解耦 1、什么Spring? Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架, 以 IoC(Inverse Of Control: 反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核 ,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多 著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架 2、Spring的优势 方便解耦,简化开发 通过 Spring提供的 IoC容器,可以将对象间的依赖关系交由 Spring进行控制,避免硬编码所造 成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可 以更专注于上层的应用 AOP编程的支持 通过 Spring的 AOP 功能,方便进行面向切面的编程,许多不容易用传统OOP 实现的功能可以通过 AOP 轻松应付. 声明式事务的支持 可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,

Spring IoC 容器和 bean 对象

和自甴很熟 提交于 2020-02-09 19:04:20
程序的耦合性: 耦合性(Coupling),又叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关 系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立 性)。 I o C容器 IoC 是 Inversion of Control 的缩写,即控制反转的意思,是解决程序耦合性的一种思想。通常创建对象的时候使用new关键字,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。解决程序耦合性的办法有很多,而依赖注入(DI)这一功能就是IOC思想的一种具体实现 Spring pom.xml配置: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.0.RELEASE</version> </dependency> </dependencies> Spring 项目结构依赖: Spring bean.xml的配置: <?xml version="1.0" encoding="UTF-8"?>

简单分析程序中耦合和解耦合

為{幸葍}努か 提交于 2020-02-07 11:34:23
什么是程序的耦合 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。耦合性存在于各个领域,而非软件设计中独有的,但是我们只讨论软件工程中的耦合。在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。 简单来说就是,减少模块之间的依赖性,提高程序的独立性 通常,我们在一个程序中,调用另外一个程序的方法,我们一般都会想到用 new 这个关键词,在学习Spring之前,我们在ServiceImpl中调用DAO中的方法,我们一般会这样写 private IAccountDAO dao = new IAccountDAOImpl ( ) ; 这样的代码写多了之后会大大的增加程序的耦合度,没有遵循开发中的 高内聚,低耦合 的开发思想,极大的增加了代码的维护难度,非常不利于代码的维护和调式,所以我们想到在Java发射中我们学过通过 newInstance() 对象来获得实例

Spring4天-第一天IOC

别等时光非礼了梦想. 提交于 2020-01-31 08:15:33
1.什么是Spring Spring 分层的Java SE/EE 应用轻量级框架,以IOC ( Inversion of Controll控制反转) 和AOP(Aspect oriented Programming,面向切面编程,本质是动态代理,不修改源码的情况下进行功能增强)为内核 。 提供了 2.Spring 体系结构 3.耦合性问题: * 耦合性:程序之间的依赖性。 * 编译期依赖:编译时必须提供依赖的类,否则编译不通过。应当避免编译期依赖 * 运行期依赖:运行时必须提供依赖的类,否则不能运行 * 耦合性越强,维护成本就越高 * 开发时要求:高内聚,低耦合 4.耦合性问题现象 * 在web开发中,服务端通常分为三层:web层、service层、dao层 * web层调用service层完成功能:需要new一个Service对象 * service层调用dao层操作数据库:需要new一个dao对象 * 三层之间的耦合性比较强:存在编译期依赖 * service里写死了创建某一个dao对象:一旦dao对象换了,就需要修改service的源码 * web里写死了创建某一个service对象:一旦service对象换了,就需要修改web的源码 5.解耦思路 方法1:可以使用反射技术,代替`new`创建对象,避免编译期依赖。 Class clazz = Class.forName(

计算机二级考试公共基础知识-软件工程基础

99封情书 提交于 2020-01-30 15:22:07
文章目录 第三章 软件工程基础 3.1 软件工程的基本概念 3.2 结构化设计方法 3.3 软件测试 3.4 软件调试 第三章 软件工程基础 详细重点学习知识点: 1、 软件的概念、软件生命周期的概念及各阶段所包含的活动; 2、概要设计与详细计划的概念、模块独立性及其度量的标准、详细设计常用工具; 3、软件测试的目的、软件测试的4个步骤; 4、软件调试的任务。 3.1 软件工程的基本概念 (1)软件定义与软件特点 软件是指计算机系统中与硬件相互依存的另一本分,包括程序、数据和相关开发文档的完整集合。程序是软件开发人员根据用户需求开发的、使用程序设计语言描述、适合计算机执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序开发、维护、使用相关的图文资料。软件由两部分组成:① 机器可执行的程序和数据;② 机器不可执行的,与软件开发、维护和使用有关的文档。 软件的特点: ① 软件是逻辑实体,而不是物理实体,具有抽象性; ② 没有明显的制作过程,可进行大量复制; ③ 使用期间不存在磨损,老化问题; ④ 软件的开发、运行对计算机系统具有依赖性; ⑤ 软件的复杂性高,成本昂贵; ⑥ 软件开发涉及诸多社会因素。 (2)软件工程与软件生命周期 软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动

如何评测软件工程知识技能水平?

早过忘川 提交于 2020-01-07 05:00:58
一 、一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面 1、编程语言和算法能力 编程语言是软件工程师的必备节能,不同方向的开发需要使用到不同的编程语言,因此软件工程师应该对各种编程语言都有一定的了解,同时要有至少两门能够熟练掌握的语言,并且 能深入理解各种编程思想,从而为以后的软件开发奠定坚实基础。 2、领域知识 不同开发领域需要掌握不同的知识架构。比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。 3、设计能力 一个优秀的软件工程师不仅需要专业的技能,还需要有一定的设计能力,这样开发出来的产品才会收到大众的欢迎,从而获得广阔的市场。 4、团队协作能力 软件开发往往是一个团队协作。因此,作为软件工程师就要具备一定的团队协作能力,来保证每个人都负责专门的工作。 二、期末测评卷(来源:百度文库,随堂测试) 一、选择题 1、以下哪个不是详细设计中常用的图形描述工具   ( A )                A、数据流图     B、程序流图    C、盒图(N-S图)   D、问题分析图(PAD) 解析: 在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) 2、软件设计包括 (    D  ) 两个阶段。        A