text: 软件设计原则是一系列的设计规范，它有助于开发人员做一个更加优秀的系统设计。这其中没重要的设计原则是SOLID设计原则。在实际的开发中，关键的软件设计原则有如下：
  SOLID是以下5个软件开发基本设计原则的简写,为了方便记忆，取每个原则的第一个字母组成，即：
  那么这5个原则具体是什么呢？
  此原则表现为：一个类，只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线，如果一个类有一个以上的职责，这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时，可能会影响其它的职责。另外，多个职责耦合在一起，会影响复用性。例如：要实现逻辑和界面的分离。此时，我们应该遵守单一职责原则，将不同的职责封装到不同的类或模块中。例如，在媒体播放器中，可以在MediaPlayer类中定义一组与媒体播放相关的方法，如Open()、Play()、Stop()等。这些方法从职责的角度来讲，是内聚的，完全符合单一职责原则中"专注于做一件事"的要求。如果需求发生扩充，需要我们提供上传、下载媒体文件的功能。那么在设计时，就应该定义一个新类如MediaTransfer，由它来承担这一职责；而不是为了方便，草率地将其添加到MediaPlayer类中。
  核心思想：对扩展开放，对修改封闭对扩展开放，意味着有新的需求或变化时，可以对现有代码进行扩展，以适应新的情况。对修改封闭，意味着类一旦设计完成，就可以独立完成其工作，而不要对类进行任何修改。
  里氏替换原则(LiskovSubstitutionPrincipleLSP)面向对象设计的基本原则之一。里氏替换原则中说，任何基类可以出现的地方，子类一定可以出现。LSP是继承复用的基石，只有当衍生类可以替换掉基类，软件单位的功能不受到影响时，基类才能真正被复用，而衍生类也能够在基类的基础上增加新的行为。用法举例：假设您有一个继承层次结构的Person和Student类，无论什么地方可以使用Person类，你也应该可以使用Student类，因为Student是Person的子类。
  接口隔离原则：客户端不应该依赖它不需要的接口；一个类对另一个类的依赖应该建立在最小的接口上，使用多个专门的接口比使用单一的总接口要好。用法举例：比如说电子商务的系统,有订单这个类,有三个地方会使用到,一个是门户,只能有查询方法,一个是外部系统,有添加订单的方法,一个是管理后台,添加删除修改查询都要用到。根据接口隔离原则(ISP),一个类对另外一个类的依赖性应当是建立在最小的接口上.也就是说,对于门户,它只能依赖有一个查询方法的接口。那么我们应该把订单的查询、添加、删除、修改操作接口分开来写，而不应该在一个总的接口里包含订单的所有操作。
  在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过这些向对象的委派达到复用已有功能的目的.这个设计原则有另一个简短的表述:要尽量使用合成/聚合,尽量不要使用继承.
  又叫做最少知识原则(LeastKnowledgePrinciple,LKP)就是说,一个对象应当对其他对象有尽可能少的了了解.迪米特法则最初是用来作为面向对象的系统设计风格的一种法则,与1987年秋天由IanHolland在美国东北大学为一个叫做迪米特(Demeter)的项目设计提出的,因此叫做迪米特法则[LIEB89][LIEB86].这条法则实际上是很多着名系统,比如火星登陆软件系统,木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则.没有任何一个其他的OO设计原则象迪米特法则这样有如此之多的表述方式,如下几种:(1)只与你直接的朋友们通信(Onlytalktoyourimmediatefriends)(2)不要跟"陌生人"说话(Don'ttalktostrangers)(3)每一个软件单位对其他的单位都只有最少的知识,而且局限于那些本单位密切相关的软件单位.就是说,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
  他们还在读
  MSServer根据列表名查询表的字段名，字段类型，以类型长度