- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 Singleton Mode(单例模式)
(一)单例模式定义指定类只有一个实例,该类只能自行创建这个实例的一种模式(例如:人类之中的女人,女人可以生孩子)(二)单例模式特点单例类只有一个实例 单例对象必须由单例类自己创建 单例类对外提供一个访问单例的全局访问点。(三)单例模式结构单例类:一个实例只能自行创建这个类的实例类 访问类:使用单例类(四)单例模式实现单例模式实现共有两种,一种是懒汉模式,另一种是饿汉模...
2020-01-08 13:45:41 381
原创 Principle Of Composite Reuse(合成复用原则)
(一)合成服用原则定义软件复用时,尽量先使用组合或者聚合关联关系来实现,次之考虑使用继承关系实现。(二)继承复用破坏封装,继承就会将父类的实现细节暴露给子类(称为白箱复用) 子类与父类的耦合性高,父类的实现和改变都能改变子类的变化,不利于类的扩展与维护。 限制了复用的灵活性(三)合成复用(合成复用的好处,新对象可以调用已有对象的功能)维持类的封装性(称为黑箱复用) 新旧类之...
2020-01-08 11:22:44 256
原创 Interface Isolation Principle(接口隔离原则)
(一)接口隔离原则定义接口隔离原则和单一职责都是为了提高类内进行,降低他们之间的耦合性,体现了封装的思想。(1)单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。(2)单一职责原则主要约束类,它针对的是程序中的实现和细节,接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。(二)接口隔离原则优点将复杂庞大的接口分解成众多个小接口,从而降低了类对接口的依赖...
2020-01-08 03:42:08 257
原创 Principle Of Dependence Inversion(依赖倒置原则)
(一)依赖倒置原则的定义高层模块不应该依赖低层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节不应该依赖抽象。精髓思想:要面向接口编程,不要面向实现编程(依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合)例如:DBHelp,里面含有连接数据库的方法,包括增删改查等等一系列的方法,而DBHelp类就是一个抽象,它就是一个接口编程,而连接DBHelp类的方法,...
2020-01-07 01:59:40 202
原创 可访问性不一致该如何解决?
在平时写代码的过程中,是经常遇到Bug,而Bug对于程序员来说,就是一个头大的问题,那么今天的这个小案例也是很简单,那就是如何解决可访问性不一致问题。(1)错误提示(2)解决方法在interface前面家public方可解决问题!解决完问题之后错误大概就是这样解决,如有不懂,欢迎提问!...
2020-01-07 01:54:21 1468
原创 Dimiter Principle(迪米特原则)
(一)迪米特原则定义:如果两个软件实体无需直接通信,那么就不应该直接相互调用,可以通过第三方转发该调用(例如:小明在学校犯了错误,应该自己打电话回家和爸爸说自己犯了错误,要来学校一趟,不过老师把小明完成了这个通话,这就是一个简单的迪米特原则)。(二)迪米特法则优点降低了类之间耦合度,提高了模块的相对独立性。 亲和度降低,提高了类的可复用率和系统的扩展性。(三)迪米特法则的实现在...
2020-01-06 03:36:11 412
原创 Richter's Principle Of Substitution(里氏替换原则)
(一)里氏替换原则定义子类替换父类(例如:花木兰替父从军)(二)里氏替换原则的作用里氏替换原则是实现开闭原则的重要方式之一 克服了继承中重写父类造成的可复用性变差 动作正确性的保证,即类的扩展不会给已有的系统引入新的错误,降低了代码的概率(三)里氏替换原则的实现里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能,说明子类继承父类功能时可以添加新功能,但是不能重写父...
2020-01-05 10:08:29 241
原创 Single Yuanz(单一原则)
(一)单一模式定义一个类,只负责一件事。(例如:老师负责教学,学生负责学习)(二)单一原则优劣缺点一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力(例如:张三精通C,C#,Java,而叫他去负责C辅导工作,就埋没了他原有的C#,Java能力 当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费(张三会精通Java,C.C#,...
2020-01-05 08:48:40 281 1
原创 Open and clos principle(开闭原则)
(一)开闭原则的作用开闭原则是面向对象程序设计的终极目标,它是软件实体用有一定的适应性和灵活性的同时还具备稳定性和延续性。(1)对软件的影响软件测试只需对扩展的代码进行测试方可(2)可以提高代码的可复用性粒度越小,被复用的可能性就越大,在面向对象程序设计中,根据原子核抽象编程可以提高代码的可复用性(3)提高软件的可维护性遵守开闭原则的软件,其稳定性高和延续性强,从而易于...
2020-01-03 12:59:57 202
Navicat Premium
2019-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人