简单工厂、工厂方法和抽象工厂都属于设计模式创建型,严格意义上简单工厂不属于23设计模式之一(违背了开闭原则),本文为了完整描述三工厂演变过程,对三工厂进行了整体的总结和学习,并通过三者之间的特点比较总结出各自的优缺点。
一、简单工厂:
在没有工厂之前,大家都是自给自足,生产一部车或其他工具都是自己来完成,有了工厂之后,告诉它需求就会出来相应的产品,但生产化水平比较低,工厂分工不...
分类:
其他好文 时间:
2015-08-20 21:00:50
阅读次数:
290
一、单一职责原则 类的职责要单一,不能将太多的职责放在同一个类中二、开放封闭原则 软件实体对扩展开放,对修改关闭。 (注:软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。 抽象化是开闭原则的关键)三、里氏代换原则 在软件系统中,能接受基类对象的地方,必然可以接受一...
分类:
其他好文 时间:
2015-08-18 18:25:46
阅读次数:
163
1、开闭原则:对扩展开放,对修改关闭2、里氏转换原则:子类继承父类,单独完全可以运行3、依赖倒转原则:引用一个对象,如果这个对象有底层类型,直接引用底层4、接口隔离原则:每一个接口应该是一种角色5、合成、聚合复用原则:新的对象应使用一些已有的对象,使之成为新对象的一部分6、迪米特原则:一个对象应对其...
分类:
其他好文 时间:
2015-08-16 12:07:14
阅读次数:
93
建议24:迭代器应该是只读的如果注意观察会发现,FCL中的迭代器只有GetEnumerator方法,没有SetEnumerator方法,所有的集合类也没有一个可以写的迭代器属性。原因有二:一:这违背了设计模式的开闭原则。被设置到集合中的迭代器可能会直接导致集合的行为发生异常或变动。一旦确实需要新的迭...
在《敏捷软件开发-原则、模式与实践》一书中,对开放闭合原则的定义为:
软件实体(类、模块、函数等)应该是可以扩展的,但是不可以修改。
简言之,两个特征:
1、对于扩展是开放的;
2、对于修改是关闭的
这两点特征貌似自相矛盾,怎么样在不改动模块源码的情况下去更改他的行为呢?如果不更改一个模块,又怎么能够去改变它的功能呢?
答案很简单,就是抽象。模块可能对抽象体进行操作。由于模块依赖于一个...
分类:
其他好文 时间:
2015-08-13 18:15:48
阅读次数:
179
程序设计原则:综合考虑,开发Schedule,质量要求完成架构设计基本面有(MindSet)面向接口编程(依赖接口,而非实现)分层设计,松散耦合。开闭原则:对修改关闭,对新增开放(具体操作可以通过配置,反射等方法实现)接口隔离原则(保证接口的单一性,避免大杂烩)多态替换原则(子类Override父类...
分类:
其他好文 时间:
2015-08-12 01:18:13
阅读次数:
113
定义:设计模式实际上是一套被反复使用,思想成熟,经过分类和无数实践设计经验的总结。设计模式存在的根本原因是为了代码复用,增加可维护性。有如下原则:1、开闭原则:对扩展开放,对修改关闭。2、里氏转换原则:子类继承父类,单独调完全可以运行。3、依赖倒转原则:引用一个对象,如果这个对象有底层类型,直接引用...
分类:
其他好文 时间:
2015-08-11 11:50:41
阅读次数:
107
bob大叔在他的著作《敏捷软件开发-原则模式与实践》一书中提到拙劣设计的七种症状:
1、僵化性:指的是设计难以改变;
2、脆弱性:设计易于遭到破坏;
3、顽固性:设计难以重用;
4、粘滞性:难以做正确的事情;
5、不必要的重复性:过分设计;
6、不必要的重复:滥用鼠标进行复制黏贴
7、晦涩性:混乱的表达
设计的“臭味”主要是因为他们违背了一个或多个设计原则,这些原则包括:...
分类:
其他好文 时间:
2015-08-08 13:37:38
阅读次数:
171
面向对象的原则:开闭原则(Open Closed Principle,OCP)里氏代换原则(Liskov Substitution Principle,LSP)依赖倒转原则(Dependency Inversion Principle,DIP)接口隔离原则(Interface Segregation...
分类:
其他好文 时间:
2015-08-04 15:10:41
阅读次数:
202
面向对象设计有以下几种原则1.开闭原则 Open-Close Principle(OCP)
2.里氏替换原则 Liskov Substitution Principle(LSP)
3.单一职责原则 Single Responsibility Principle(SRP)
4.接口隔离原则 Interface Segregation Principle(ISP)
5.依赖倒置原则 Depend...
分类:
其他好文 时间:
2015-08-03 16:57:47
阅读次数:
164