codeing or artist ?
记得大学第一节编程课,教授说,"如果一件事儿有对错,那么是科学。如果有美丑好坏,那么是艺术。" 一个能顺利运行还能让人阅读时体验思维美妙的代码,就是艺术和科学的结合。能运行的程序并不是好程序,能当作文章来读的才是。在我看来代码是一种特殊的文体,程序猿其实会写诗。
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要: 状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变了其类。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 既然状态者模式是对已有对象的状态进行抽象,则自然就有抽象状态者类和具 阅读全文
posted @ 2017-03-25 14:53 codeing-or-artist-?? 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂允许客户使用抽象的接口来创建一组相关产品,而不需要知道或关心实际生产出的具体产品是什么。这样客户就可以从具体产品中被解耦。下面通过抽象工模式的类图来了解各个类中之间的关系: 抽象工厂的分析 抽象工厂模式将具体 阅读全文
posted @ 2017-03-25 12:27 codeing-or-artist-?? 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。 建造者模式类图: 建造者模式的分析 介绍完了建造者模式的具体实现之后,让我们总结下建造模式的实现要点: C#的建造者 阅读全文
posted @ 2017-03-23 16:01 codeing-or-artist-?? 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式类图: 然而对于外观模式而言,是没有一个一般化的类图描述,下面演示一个外观模式的示意性对象图来加深大家对外观模式的理解: 在上面的对象图中有两个角色: 门面(Facade)角色:客 阅读全文
posted @ 2017-03-23 15:02 codeing-or-artist-?? 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代码。 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在抽象父类中封装 阅读全文
posted @ 2017-03-21 17:22 codeing-or-artist-?? 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加 创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加, 导致子类 阅读全文
posted @ 2017-03-21 16:31 codeing-or-artist-?? 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 工厂方法与简单工厂的区别在于工厂方法没有switch条件分支,实例化哪一个子类放到了客户端(可以利用反射),这样整个工厂和产品体系都没有修改的变化,而只是扩展的变化,这就完全符合了开放-封闭原则的精神。 工厂方法类图: 从UML图可以看出,在工厂方法模式中,工厂类与具体产品类具有平行的等级结构,它们 阅读全文
posted @ 2017-03-21 16:21 codeing-or-artist-?? 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本体对象。 代理模式类图: 在上面类图中,代理模式所涉及的角色有三个: 抽象主题角色(Person):声明了真实主题和 阅读全文
posted @ 2017-03-21 13:30 codeing-or-artist-?? 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式是为已有的功能动态地添加更多功能的一种方式。当系统需要新功能的时候,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要行为,在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需 阅读全文
posted @ 2017-03-20 17:27 codeing-or-artist-?? 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1、单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。 解释: 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容,就是发现 阅读全文
posted @ 2017-03-18 18:26 codeing-or-artist-?? 阅读(1654) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页