博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  设计模式

摘要:https://blog.csdn.net/chenyiming_1990/article/details/22210045 良好的编程原则与良好的设计工程原则密切相关。本文总结的这些设计原则,帮助开发者更有效率的编写代码,并帮助成为一名优秀的程序员。 1.避免重复原则(DRY – Don’t re 阅读全文

posted @ 2018-08-20 11:10 bw_0927 阅读(203) 评论(0) 推荐(0)

摘要:https://www.cnblogs.com/my_life/articles/6197721.html 构建新类的两个基本方法是组合和继承,如果你的主要目的是代码重用,那么最好使用组合的方法构造新类,使用继承的方法构造新类造成的可能问题是,无意的修改基类可能会破坏子类的实现。 关于继承关系你可以 阅读全文

posted @ 2017-09-30 16:47 bw_0927 阅读(528) 评论(0) 推荐(1)

摘要:http://www.cppblog.com/mzty/archive/2007/08/06/29441.html http://www.cppblog.com/mzty/archive/2007/08/13/29922.html http://blog.sina.com.cn/s/blog_93b 阅读全文

posted @ 2017-06-06 10:07 bw_0927 阅读(601) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/sjtu_chenchen/article/category/3143693 阅读全文

posted @ 2016-09-06 15:19 bw_0927 阅读(110) 评论(0) 推荐(0)

摘要:http://www.blogjava.net/DLevin/archive/2015/09/03/427086.html 拦截过滤器模式(Intercepting Filter Pattern):用于对应用程序的请求或响应做一些预处理/后处理类似于职责链模式 http://www.runoob.c 阅读全文

posted @ 2016-05-08 17:00 bw_0927 阅读(236) 评论(0) 推荐(0)

摘要:0x01.开闭原则 定义:一个软件实体如: 类,模块和函数应该对扩展开放,对修改关闭 【可以通过扩展实现新功能,不能通过修改抽象类/基类来达到修改的目的】 要点: 当变更发生时,不要直接修改类,而是通过继承扩展的方式完成变更 用抽象构建框架,用实现扩展细节 预先设计好抽象 优点:提高软件系统的可复用 阅读全文

posted @ 2016-05-06 09:55 bw_0927 阅读(157) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793000.html 定义: 迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP)。 一个对象应该对其他对象有最少 阅读全文

posted @ 2016-05-06 09:53 bw_0927 阅读(218) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/08/04/1792528.html 接口隔离原则 Interface Segregation Principle 定义: 客户端不应该依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 我们可以把这两 阅读全文

posted @ 2016-05-06 09:38 bw_0927 阅读(116) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/08/03/1791466.html 里氏替换原则(Liskov Substitution Principel)是解决继承带来的问题。 继承的优点: 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属 阅读全文

posted @ 2016-05-06 09:31 bw_0927 阅读(136) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/08/03/1791331.html 定义: 应该有且仅有一个原因引起类的变更。 There should never be more than one reason for a class to chang 阅读全文

posted @ 2016-05-06 09:20 bw_0927 阅读(162) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/09/01/1814871.html http://www.cnblogs.com/my_life/articles/5460263.html 适配器模式(Adapter Pattern)又叫做变压器模式,也 阅读全文

posted @ 2016-05-05 10:52 bw_0927 阅读(145) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/muzongyan/archive/2010/08/04/1792392.html 依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象; 抽象不应该依赖细节; 阅读全文

posted @ 2016-05-05 10:20 bw_0927 阅读(181) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/lwbeyond/article/details/7577433 http://design-patterns.readthedocs.org/zh_CN/latest/behavioral_patterns/command.html 一. 举例说明 我们知 阅读全文

posted @ 2016-04-17 09:42 bw_0927 阅读(182) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/zhiranok/archive/2012/07/30/fflib_framework.html http://blog.chinaunix.net/uid-23093301-id-190969.html https://msdn.microsoft.c 阅读全文

posted @ 2016-04-11 15:34 bw_0927 阅读(164) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/zhiranok/archive/2011/06/26/domain_deriven_design.html 软件中的对象 About DOMAIN-DRIVEN DESIGN 领域驱动设计是一种思维方式,目的在于处理具有复杂问题的软件项目。在传统的瀑布 阅读全文

posted @ 2016-03-30 17:55 bw_0927 阅读(140) 评论(0) 推荐(0)

摘要:https://www.cnblogs.com/my_life/articles/5126652.html http://blog.csdn.net/ljianhui/article/details/7944081 http://www.cnblogs.com/joinclear/p/3908661 阅读全文

posted @ 2016-01-28 10:36 bw_0927 阅读(258) 评论(0) 推荐(0)

摘要:起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调... 阅读全文

posted @ 2016-01-16 17:43 bw_0927 阅读(126) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/lwbeyond/article/details/7564162 一. 举例说明 还以我以前做的文件系统(FileSys)为例: 文件系统是一个独立的系统,它提供一套核心的文件操作。 除了文件系统,还有四个子系统,分别是杀毒子系统(KillVirus),压缩 阅读全文

posted @ 2016-01-16 11:48 bw_0927 阅读(200) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/lwbeyond/article/details/7542211 http://blog.csdn.net/zmyer/article/details/19633995 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工 阅读全文

posted @ 2016-01-15 18:28 bw_0927 阅读(387) 评论(0) 推荐(0)

摘要:typename指示一个类型名,而非定义一个类型,以下声明了一个Seq::iterator类型的变量itr,其中Seq是一个模板实例化时才知道的类:(所以typename一般是与模版一起使用的,表示是一个类型) typename Seq::iterator itr;如果没有typename指示,Se... 阅读全文

posted @ 2015-08-26 14:51 bw_0927 阅读(174) 评论(0) 推荐(0)