概述在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等等,自己回头看的时候都觉得汗颜。再看那些知名的开源库,它们大多有着整洁的代码、清晰简单的接口、职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫才能写出这样的代码! 在做开发的这些年中,我渐渐的感觉到,其实国内的一些初、中级工程师写的东西不规范或者说不够清晰的原因是缺乏一些指导...
分类:
其他好文 时间:
2015-02-24 23:28:55
阅读次数:
198
Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee。这两种实体在Decorator模式中是必须的。Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆。使用Decorato...
分类:
编程语言 时间:
2015-02-19 09:37:50
阅读次数:
205
评估产品机会是产品经理的重要职责。评估产品机会的目的在于淘汰馊主意,避免浪费时间和金钱;挑选合适的产品机会,团结团队,理解产品,整合资源,更好的打造一款爆品。结合《启示录》一书的内容与个人项目经验的思考,梳理了以下10大问题。1. 产品要解决什么问题(产品价值) 产品的目的是什么?可以持续性的解决哪些问题与困扰?产品的问题解决务必是可持续性的,而不是一次性的快餐产品,这是一个最难回答也是最重要的...
分类:
其他好文 时间:
2015-02-18 11:55:57
阅读次数:
223
<?php
/**
*2.5外观模式
*定义:
*为子系统中的一组接口提供一个一致的界
*面,Facade模式定义了一个高层接口,这
*个接口使得这一子系统更加容易使用。
*角色:
*1.外观类
*职责:知道哪些子系统类负责处理请
*求,将客户的请求代理给适当
*的子系统对象。
*2.子系统类
*..
分类:
其他好文 时间:
2015-02-17 23:43:31
阅读次数:
147
<?php
/**
*2.4组合模式
*定义:
*将对象组合成树形结构以表示“部分整体”的层次结构。
*组合模式使得用户对单个对象和组合对象的使用具有一致性
*角色:
*1.Component角色
*职责:它是组合中的对象接口。在适当的情况下,实现
*所有类共有接口的默认行为。声明一个接口用..
分类:
其他好文 时间:
2015-02-17 23:43:06
阅读次数:
195
<?php
/**
*2.6享元模式
*定义:
*运用共享技术有效地支持大量细粒度的对象。
*角色:
*1.抽象享元(Flyweight)类
*职责:所有具体享元类的超类或接口,
*通过这个接口,享元类可以接
*受并作用于外部状态。
*2.具体享元类
*职责:继承享元抽象类,并为内部状态
*增加存储..
分类:
其他好文 时间:
2015-02-17 23:43:02
阅读次数:
220
<?php
/**
*1.3抽象工厂模式
*解决的问题:
* 如何解决多个类实例化对象的问题。
*解决的方案:
* 提供一个创建一系列相关或相互依赖对象的
* 接口,而无需指定它们具体的类。
*该模式包含四种角色:
* 1.抽象产品角色(两个或多个)
* 职责:同工厂方法模..
分类:
其他好文 时间:
2015-02-17 23:42:59
阅读次数:
194
<?php
/**
*2.3装饰模式
*定义:
* 动态的给一个对象添加一些额外的职责
* ,就增加功能来说,装饰模式比生成子
* 类更灵活。
*角色:
* 1.抽象组件角色
* 职责:给出一个抽象接口,以规范
* 准备接受附加责任的对象。
* 2.具体组件角色
* 职责:定义一个将要..
分类:
其他好文 时间:
2015-02-17 23:42:30
阅读次数:
156
<?php
/**
*1.6建造者模式
*定义:
* 将一个复杂对象的构建与它的表示分离
* ,使得同样的构建过程可以创建不同的
* 表示。
*此模式包含三种角色:
* 1.抽象建造者角色
* 职责:
* 用于指定规则和流程
* 2.具体建造者角色
* 职责:
* 具体的建..
分类:
其他好文 时间:
2015-02-17 23:42:02
阅读次数:
171
<?php
/**
*2.2桥接模式
*定义:
* 将抽象部分与它的实现部分分离,使它
* 们都可以独立的变化。
*此模式包含四种角色:
* 1.抽象被聚合角色
* 职责:它是被包含的类,也就是说
* 此类的对象可以被作为另外
* 一个类的一部分,但是这一
* 部分不是非..
分类:
其他好文 时间:
2015-02-17 23:41:40
阅读次数:
160