摘要:
什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作。 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: · 更新客户所购商品的库存信息 · 保存客户付款信息--可能包括与银行系统的交互 · 生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变 阅读全文
摘要:
左连接,右连接,内连接,外连接联接条件可在 FROM 或 WHERE 子句中指定,建议在 FROM 子句中指定联接条件。WHERE 和 HAVING 子句也可以包含搜索条件,以进一步筛选联接条件所选的行。联接可分为以下几类:内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。外联接。外联接可以是左向外联接、右向外联接或完整外部联接。在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:LEFT 阅读全文
摘要:
1 <?php 2 /** 3 * 中介者模式 4 * 5 * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 6 */ 7 abstract class Mediator 8 { 9 abstract public function send($message,$colleague);10 }11 12 abstract class Colleague13 {14 private $_mediator = null;15 16 public function Colleague($medi... 阅读全文
摘要:
一、功能 保证一个类仅有一个实例。二、结构图三、优缺点 Singleton模式是做为"全局变量"的替代品出现的。所以它具有全局变量的特点:全局可见、贯穿应用程序的整个生命期,它也具有全局变量不具备的性质:同类型的对象实例只可能有一个。四、实现class Singleton{public: static Singleton* Instance();protected: Singleton() { }private: static Singleton* _instance; Singleton(const Singleton&); Singleton& oper 阅读全文
摘要:
作用:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。比如,QQ中你的好友上线下,他们的头像亮起,熄灭。以下是参考代码#include <Windows.h>#include <list>using namespace std;class Subject;class Observer {public: virtual ~Observer(); virtual void Update(Subject* theChangedSubject) = 0;protected: Observer();};class Subje 阅读全文
摘要:
一、功能 将抽象部分与它的实现部分分离,使它们都可以独立地变化。二、结构图三、示例代码namespace DesignPattern_Bridge{ // class Implementor class Implementor { public: virtual void OperationImp() = 0; }; // class ConcreteImplementorA class ConcreteImplementorA : public Implementor { public: virtual void Ope... 阅读全文