1.创建线程方法 (1)继承Thread类 (2)实现Runnable接口 至于哪个好,不用说肯定是后者好,因为实现接口的方式比继承类的方式更灵活,也能减少程序之间的耦合度,面向接口编程也是设计模式6大原则的核心。 2.start()方法和run()方法的区别 只有调用了start()方法,才会表现 ...
分类:
编程语言 时间:
2018-10-08 19:37:39
阅读次数:
138
定义:一个对象应该对其他对象保持最少的了解。 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决方案:尽量降低类与类之间的耦合。 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦 ...
分类:
其他好文 时间:
2018-10-05 00:58:28
阅读次数:
206
背景介绍 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度。在.NET Core MVC中 我们可以在Startup.cs文件的ConfigureService方法中使用服务容器IServiceCollection注册接口及其实现类 ...
分类:
Web程序 时间:
2018-10-02 17:34:38
阅读次数:
206
优点:1.关键代码处都有注释,清晰简洁2.基本上达到了样例用户登录的需求、文件按格式输出的需求、出题随机性需求。3.文件控制部分、文件名时间输出部分,耦合度低,可以在其他需要的地方使用。4.提供了需求之外的部分很实用的功能。缺点:1.全局使用了名称空间std,不便于名称空间管理。2.部分变量的命名, ...
分类:
其他好文 时间:
2018-09-28 01:32:47
阅读次数:
123
通过测试运行队友代码,整体功能及需求都达到了个人编程的要求。下面就细节分析队友代码的优缺点。 优点:1、使用了类封装了整个功能,同时各部分都有写一个方法,耦合度低 2、代码注释明确,可读性高,很容易就可以看懂每一步在做什么 3、相对于自己的代码,其代码添加括号的实现以及重复题目查重功能比自己的完善 ...
分类:
其他好文 时间:
2018-09-27 14:16:22
阅读次数:
111
顾名思义,Model + Form == ModelForm。model和form的合体,所以有以下功能: 验证数据字段(Form的功能) 数据库操作(Model的功能) model有操作数据库的字段,form验证也有那几个字段,虽然耦合度降低,但是代码是有重复的。如果利用model里的字段,那是不 ...
分类:
其他好文 时间:
2018-09-27 01:39:48
阅读次数:
169
代理模式的定义: 代理模式是一个使用律非常高的模式,定义如下: 为其他对象提供一种代理,以控制对这个对象的访问。 类图: 简单的静态代理: public interface IRunner{ //这是一个代理类和被代理类都需要实现的接口 //在接口中定义一个抽象函数 public void requ ...
分类:
编程语言 时间:
2018-09-25 23:29:51
阅读次数:
398
1 # 在init之前做判断,但是耦合度太高 2 class Person: 3 def __init__(self, name:str, age:int): 4 params = ((name, str), (age, int)) 5 if not self.typecheck(params): ... ...
分类:
其他好文 时间:
2018-09-23 18:21:26
阅读次数:
185
概要 最近在写代码的时候,遇到if else 特别多,还存在嵌套情况;这导致代码很长,看着很难受,一点面向对象的感觉都没了; 也使得代码耦合度非常高; 小编通过责任链模式来解决这问题; 责任链模式定义(Chain of Responsibility) 在 GOF 23 中是这么描述的 译:通过为多个 ...
分类:
其他好文 时间:
2018-09-21 19:51:07
阅读次数:
173
简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解... ...
分类:
其他好文 时间:
2018-09-17 19:50:44
阅读次数:
154