codeing or artist ?
记得大学第一节编程课,教授说,"如果一件事儿有对错,那么是科学。如果有美丑好坏,那么是艺术。" 一个能顺利运行还能让人阅读时体验思维美妙的代码,就是艺术和科学的结合。能运行的程序并不是好程序,能当作文章来读的才是。在我看来代码是一种特殊的文体,程序猿其实会写诗。
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 20 下一页
摘要: 享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象。 内部状态与外部状态 享元模式是一种用时间换空间的优化模式 可以被对象共享的属性通常被划分为内部状态 外部状态取决于具体场景,并根据场景而变化 下面给出上面实现代码中的类图,如下所示: 在上图中,涉及的角色如下几种角色: 抽象享 阅读全文
posted @ 2017-03-29 15:34 codeing-or-artist-?? 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator),用一个中介者对象来封装一系列对象交互。中介者使各对象不需要显示地相互引用,从而使其松散,而且可以独立地改变它们之间的交互。 从生活中例子自然知道,中介者模式设计两个具体对象,一个是用户类,另一个是中介者类,根据针对接口编程原则,则需要把这两类角色进行抽象,所以中介者模 阅读全文
posted @ 2017-03-28 16:21 codeing-or-artist-?? 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 职责链模式(Chain of Responsiblity),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 从责任链模式的定义可以发现,责任链模式涉及的对象只有处理者角色,但由于有多个处理者,它们具有共 阅读全文
posted @ 2017-03-28 16:01 codeing-or-artist-?? 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 从命令模式的结构图可以看出,它涉及到五个角色,它们分别是: 客户角色:发出一个具体的命令并确定其接受者。 命令角色:声明了一个给所有具体命令类实现的抽象接口 阅读全文
posted @ 2017-03-28 15:13 codeing-or-artist-?? 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。 抽象化和实现部分在一起,桥接模式的目的就是使两者分离,根据面向对象的封装变化的原则,我们可以把实现部分的变化封装到另外一个类中,这样的一个思路也就是桥接模式的实现,大家可以对照桥接模式的实现代码来解决我们的分析思路。 阅读全文
posted @ 2017-03-28 12:13 codeing-or-artist-?? 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 为了帮助大 阅读全文
posted @ 2017-03-27 16:24 codeing-or-artist-?? 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 一个聚集对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式。 你需要对聚集有多种方式遍历时,可以考虑用迭代器模式。为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项 阅读全文
posted @ 2017-03-27 16:02 codeing-or-artist-?? 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 组合模式(Composite),将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 透明方式,也就是说在Commponent中声明所有用来管理子对象的方法,其中包括Add、Remove等。这样实现Commponent接口的所有子类都具备了Add 阅读全文
posted @ 2017-03-27 15:44 codeing-or-artist-?? 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 备忘录(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以根据保存的Memen 阅读全文
posted @ 2017-03-27 12:18 codeing-or-artist-?? 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 适配器模式,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要 阅读全文
posted @ 2017-03-25 15:58 codeing-or-artist-?? 阅读(729) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 20 下一页