![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
敏捷开发
文章平均质量分 78
alex_xhl
专注软件架构设计,性能分析和优化。
展开
-
补充“为什么Scrum不行”
最近有一篇“为什么Scrum不行”的文章很热,本来路过打酱油的时候看到过,但是后来在另外一个网站的敏捷诊室里边被要求评价一下,所以顺便转发到这里。 为了不让大家再去找原文,原文发在这里(好像是由一篇外文翻译的?没找到原始出处): 因为本人经常站在Agile的风口浪尖,所以我有必要也来一个“免责声明”。Shit!其实我想来的是“不免责声明”——下文中的九大原因是对中国的各种Agile实践者咨转载 2012-02-16 09:57:06 · 977 阅读 · 0 评论 -
设计模式---代理
一、功能 在直接访问对象不方便或不符合需要时,为这个对象提供一种代理,以控制对该对象的访问。 二、示例代码 namespace DesignPattern_Proxy { // class RealSubject class RealSubject { public: void Request() {} } ; // class Proxy class Pr原创 2013-12-27 10:02:04 · 682 阅读 · 0 评论 -
设计模式---外观
一、功能 为子系统中的各类提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。 二、优缺点 优点:用户不需要直接与子系统打交道,只需要与Facade交互就可以了,方便了对子系统的使用。 三、示例代码 namespace DesignPattern_Facade { // class Subsystem_ClassA class Subsystem_Cl原创 2013-12-27 09:59:16 · 591 阅读 · 0 评论 -
设计模式---装饰
一、功能 动态地给一个对象添加一些额外的功能。 二、优缺点 优点:Decorator的目的是"动态的给一个对象添加一些额外的功能"。其关键之处在于"动态"和"对象"上。传统上依靠子类继承来实现功能的扩展,它针对的是整个类。但Decorator不使用继承,所以它只是针对单个对象实例进行功能的扩展。并且,从下面的示例代码中也可以看出,可以在运行时动态地、灵活地对功能进行组装。原创 2013-12-27 09:57:23 · 610 阅读 · 0 评论 -
设计模式---组成
一、功能 表示“部分-整体”关系,并使用户以一致的方式使用单个对象和组合对象。 二、优缺点 优点:对于Composite模式,也许人们一开始的注意力会集中在它是如何实现组合对象的。但Composite最重要之处在于用户并不关心是组合对象还是单个对象,用户将以统一的方式进行处理,所以基类应是从单个对象和组合对象中提出的公共接口。 缺点:Composite最大的问题原创 2013-12-27 09:53:07 · 630 阅读 · 0 评论 -
设计模式---桥接
一、功能 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、示例代码 namespace DesignPattern_Bridge { // class Implementor class Implementor { public: virtual void OperationImp() = 0 ; } ; // class ConcreteImplem原创 2013-12-27 09:46:42 · 544 阅读 · 0 评论 -
设计模式---适配器
一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、示例代码 (1)class adapter namespace DesignPattern_Adapter { // class Adaptee class Adaptee { public:原创 2013-12-27 09:40:28 · 648 阅读 · 0 评论 -
设计模式---单件
一、功能 保证一个类仅有一个实例。 二、示例代码 class Singleton { public: static Singleton* Instance() ; protected: Singleton() {} private: static Singleton *_instance ; Singleton(const Singleton&) ; Singleto原创 2013-12-27 09:36:54 · 594 阅读 · 0 评论 -
设计模式(待整理)
命令 一、功能 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 二、示例代码 namespace DesignPattern_Command { // class Receiver class Receiver { public: void SomeOperation() {} } ; //原创 2014-01-06 19:14:43 · 828 阅读 · 0 评论 -
设计模式---原型
一、功能 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、示例代码 namespace DesignPattern_Prototype { // class Prototype class Prototype //抽象基类 { public: virtual Prototype* Clone() = 0 ; } ; // clas原创 2013-12-11 19:44:10 · 671 阅读 · 0 评论 -
设计模式---工厂方法
一、功能 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 二、示例代码 namespace DesignPattern_FactoryMethod { class Product { /*...*/ } ; class ConcreteProduct : public Product { /*...*/原创 2013-12-09 19:21:09 · 598 阅读 · 0 评论 -
设计模式---抽象工厂
Abstract Factory 一、功能 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二、示例代码 namespace DesignPattern_AbstractFactory { class AbstractProductA {}; // Product A class ProductA1 : public AbstractPro原创 2013-11-28 19:57:18 · 588 阅读 · 0 评论 -
设计模式---生成器
一、功能 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、示例代码 namespace DesignPattern_Builder { class Product1 { PartA m_partA; PartB m_partB; PartC m_partC; } ; class Product2 { Par原创 2013-11-28 20:16:43 · 664 阅读 · 0 评论 -
原百度贴吧负责人舒迅:产品经理必读的九步法
摘要:在本文为大家描述了产品设计“九步法”,主要框架来源于几个从无到有设计了亿级用户产品的人。“九步法”是为泛互联网产品而写的,适用于大型产品,也适用于产品中的新功能。使用方法是PM在产品设计时,对以下九个问题自己逐条进行书面回答,并和团队逐条分析和讨论。 谨以此文献给梦想改变世界的人。——舒迅 多年以后,当我面对那些年青的产品经理,我会想起自己当年从事的是一份高薪的工作。那是2000转载 2012-12-21 09:42:10 · 878 阅读 · 0 评论 -
设计模式---职责链
一、功能 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 二、优缺点 客户不知道它的请求将被哪个对象处理。 三、实现 有两种实现思路。一种是自己先处理,处理不成功了再交给其他人处理。另一种是先交给别人处理,处理不成功了再自己处理。示例代码如下节所示。 四、示例代码原创 2013-12-27 10:03:50 · 601 阅读 · 0 评论