principle

常用设计模式

有些话、适合烂在心里 提交于 2020-04-06 16:53:40
一 概述 设计模式是针对 面向对象 设计类语言在程序设计中的一类设计思想。这些思想是前人在程序设计中总结的一些经验,它能够提高代码的 可读性、可维护性、可读性、稳健性和安全性 。到目前为止,前人共总结了23种常用的设计模式,并且这 23种设计模式 必须遵循一些设计原则,即 七大设计原则 。本文只涉及一些常用设计模式。 二 七大设计原则 1. 开闭原则 (Open-Closed Principle, OCP)   开闭原则表示的是类或者模块应对扩展开放,对修改关闭。 2. 单一职责原则 (Single Responsibility Principle, SRP) 3. 里氏代换原则 (Liskov Substitution Principle, LSP) 4. 依赖倒转原则 (Dependence Inversion Principle, DIP) 5. 接口隔离原则 (Interface Segregation Principle, ISP) 6. 合成复用原则 (Composite Reuse Principle, CRP) 7. 迪米特法则 (Law of Demeter, LoD) 三 常用设计模式 来源: https://www.cnblogs.com/xyzyj/p/12641768.html

java设计原则

家住魔仙堡 提交于 2020-03-20 21:59:36
S.O.L.I.D 能帮助我们成为更优秀的开发人员。 S.O.L.I.D 是面向对象设计(OOD)的头五大基本原则的首字母缩写,由俗称「 鲍勃大叔 」的 Robert C. Martin 提出。 这些原则,结合在一起能够方便程序员开发易于维护和扩展的软件,也让开发人员轻松避免代码异味,易于重构代码,也是敏捷或自适应软件开发的一部分。 面向对象的五大原则: 单一职责原则SRP:Single Responsibility Principle 开放封闭原则OCP:Open-Close Principle Liskov替换原则LSP:Liskov Substitution Principle 依赖倒置原则DIP:Dependency Invertion Principle 接口隔离原则ISP:Interface Separate Principle 在面向对象设计中,如何通过很小的设计改变就可以应对设计需求的变化,这是令设计者极为关注的问题。为此不少OO先驱提出了很多有关面向对象的设计原则用于指导OO的设计和开发。下面是几条与类设计相关的设计原则。 1. 单一职责(the Single Responsibility Principle SRP) 系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。 每一个职责都是一个设计的变因,需求变化的时候

关于一些大学课程名的中文翻译

我的未来我决定 提交于 2020-03-18 02:31:18
发信人: cameoer (趁年轻多看点comic:)), 信区: job 标 题: 课程词汇(全)(转载) 发信站: 饮水思源 (2004年10月13日12:30:06 星期三), 站内信件 【 以下文字转载自 Translation 讨论区 】 【 原文由 cameoer 所发表 】 高等数学 Advanced Mathematics 工程数学 Engineering Mathematics 中国革命史 History of Chinese Revolutionary 程序设计 Programming Design 机械制图 Mechanical Drawing 社会学 Sociology 体育 Physical Education 物理实验 Physical Experiments 电路 Circuit 物理 Physics 哲学 Philosophy 法律基础 Basis of Law 理论力学 Theoretical Mechanics 材料力学 Material Mechanics 电机学 Electrical Machinery 政治经济学 Political Economy 自动控制理论 Automatic Control Theory 模拟电子技术基础 Basis of Analogue Electronic Technique 数字电子技术 Digital

Linux /proc、/dev Principle

試著忘記壹切 提交于 2020-03-10 03:21:19
目录 1. /proc简介 2. 内核机制相关 3. 进程信息 4. 硬件设备相关 5. 系统信息 6. /dev简介 7. 内存相关 1. /proc简介 在linux的根目录下有一个/proc目录,/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信。在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的(即在我们执行指令的那一刹那才产生的) /proc文件系统包含了: 1. 一些目录(用作组织信息的方式) 例如linux对于当前运行中的每一个进程都在/proc目录下建立一个目录(目录名就是process-id),例如init的进程号是1,则目录名也是1 2. 虚拟文件 虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段 执行: ll /proc,我们可以得到如下结果 dr-xr-xr-x. 8 root root 0 Jul 28 20:31 1 dr-xr-xr-x. 8 root root 0 Jul 28 20:31 10 dr-xr-xr-x. 8 root root 0 Jul 28 20:31 1024 dr-xr-xr-x. 8 root root 0 Jul 28 20:31 11 dr

设计模式的六大原则

喜欢而已 提交于 2020-03-07 13:06:35
一、单一职责原则(Single Responsibility Principle) 二.开闭原则(Open-Closed Principle, OCP) 三、里氏代换原则(Liskov Substitution Principle, LSP) 四、依赖倒置原则(Dependence Inversion Principle,DIP) 五、接口隔离原则(Interface Segregation Principle, ISP) 六、迪米特法则(Law of Demeter, LoD) 总结 一、单一职责原则(Single Responsibility Principle) 定义:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有 可能会导致原本运行正常的职责P2功能发生故障。 单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中

开闭原则 Open Closed Principle

风流意气都作罢 提交于 2020-03-04 08:33:52
开闭原则的介绍: 1) 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则 2) 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。 3) 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。 4) 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。 错误示例 package com.kittenplus.principle.ocp; public class ocp { public static void main(String[] args) { GraphicEditor ge = new GraphicEditor(); ge.drawShape(new Rectangle() ); ge.drawCircle(new Circle()); }} //这是一个用于绘图的类 class GraphicEditor { //接收Shape对象,然后根据Type绘制不同的图形 public void drawShape(Shape s) { if (s.m_type == 1) drawRectangle(s); else if (s.m_type == 2) drawCircle(s); } public void

English study notes (1)

我的梦境 提交于 2020-02-22 15:08:55
Listening skills - CET4 New reports skill: Concentrate +Qquick browsing options (judgment) + Discovery patterns principle: 1.The basic principle of audition: what is heard is right 2.Occasional synonymous replacement eg:handle = cope with 3.Subject repetition principle eg:sleep(睡眠) 4.Principles of emphasis on head and tail sentences and transition sentences Conversations skill: 1.Focused 2.Quickly browse through the options and catch the rules principle: 1.Question-and-answer principle 2.Subject repetition principle 3.Turning sentence 4.Listen to the principle of consistency and occasionally

面向对象设计原则概述

泄露秘密 提交于 2020-02-14 00:43:57
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题, 如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一 。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则 。 面向对象设计原则也是我们用于评价一个设计模式的使用效果的重要指标之一,在设计模式的学习中,大家经常会看到诸如“ XXX 模式符合 XXX 原则”、“ XXX 模式违反了 XXX 原则”这样的语句。 最常见的7种面向对象设计原则如下表所示: 表 1 7 种常用的面向对象设计原则 设计原则名称 定 义 使用频率 单一职责原则 (Single Responsibility Principle, SRP) 一个类只负责一个功能领域中的相应职责 ★★★★☆ 开闭原则 (Open-Closed Principle, OCP) 软件实体应对扩展开放,而对修改关闭 ★★★★★ 里氏代换原则 (Liskov Substitution Principle, LSP) 所有引用基类对象的地方能够透明地使用其子类的对象 ★★★★★ 依赖倒转原则 (Dependence

设计模式原则

血红的双手。 提交于 2020-02-06 12:04:05
1、开闭原则(Open Close Principle)    对扩展开放,对修改关闭 。 2、里氏代换原则(Liskov Substitution Principle)   只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。 3、依赖倒转原则(Dependence Inversion Principle)   这个是开闭原则的基础, 对接口编程 ,依赖于抽象而不依赖于具体。 4、接口隔离原则(Interface Segregation Principle)   使用多个隔离的接口来降低耦合度。 5、迪米特法则(最少知道原则)(Demeter Principle)   一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。 6、合成复用原则(Composite Reuse Principle)   原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。 来源: https://www.cnblogs.com/danielwong/p/9801318.html

程序设计--设计模式六大原则

久未见 提交于 2020-01-30 00:07:23
程序设计--设计模式六大原则 设计模式 设计模式六大原则 单一职责原则(Single Responsibility principle) 里氏替换原则(Liskov Substitution Principle) 迪米特法则(Law of Demeter) 依赖倒置原则(Dependence Inversion Principle) 接口隔离原则(Interface Segregation Principle) 开闭原则(Open Closed Principle) 设计模式 面向对象语言开发过程中,遇到各种场景和问题的解决方案和思路,沉淀下来就是设计模式(套路) 设计模式六大原则 面向对象语言开发过程中,推荐的一些指导性的原则(并不是强制要求的) 单一职责原则(Single Responsibility principle) 类T负责两个不同的职责。职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 方法层面:也需要考虑单一职责原则,方法有多个分支或还可能发生扩展变化的,最好拆分成多个方法。从方法层次实行单一职责。 类层面:肯定要遵循单一职责原则,一般业务开发流程,接受输入–数据验证–逻辑计算–数据库操作–日志。这些一般都需要分层次编写。从类的层次实行单一职责。 类库层面:把项目拆分成多个类库,可以重用,方便维护