摘要:
Eric" Gamma说,要面向抽象编程。面向接口编程是面向对象的核心。防止 “everything depends on everything” 问题,即具体依赖于具体。 从GoF设计模式中,我们已经习惯一种思维编程方式:Interface Driven Design 接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口最终还是需要实现的,也就是如下语句... 阅读全文
摘要:
In no particular order, the defenses offered by the Visual C++ toolset are: Stack-based Buffer Overrun Detection (/GS) Safe Exception Handling (/SafeSEH) Data Execution Prevention (DEP) ... 阅读全文
摘要:
类都应该是各司其职的,负责的功能块应该尽可能单一、内聚。一般在考虑类设计时,从项目实现角度设计一个类比较容易想。一个功能一个类,等等。。 但是,千万不要忘记,总有一些类,是做任何项目都需要的,比如:管理全局数据的类,管理string处理的类,等等。我们也应该设计这样一些管理其他类用到的资源的manager来帮助其他功能类更加心无旁骛的做好自己的事情。比如,全局数据,static数据,很多类都要用,... 阅读全文
摘要:
§Keep eyes on your actions §Identify the repeated actions §Automate it!!! 阅读全文
摘要:
1. Dont use illegal name like similar naming, _XXX, etc. 2. Using namespace for a project. 3. All switch should have a default statement. 4. Use integer 0 instead of NULL for null pointer. 5. Always t... 阅读全文
摘要:
构造一个类:就是构造它的各个成员及基类,然后调用构造函数初始化的过程,是一个从局部到整体逐步构建的过程。 析构一个类:就是调用析构函数释放相关资源,然后,分别析构各个成员及基类的过程,是一个逐步分解回收内存空间的过程。 注:对一个类的成员及基类的构造或析构,就是递归构造或析构一个类。递归构造、析构的过程的终止条件,可以认为是当构造或析构到一个简单对象,如int,double数据成员。 阅读全文
摘要:
The KISS principle (acronym for "Keep It Simple, Stupid") states that design simplicity should be a key goal and unnecessary complexity avoided. It serves as a useful principle in a wide array of disc... 阅读全文
摘要:
【转载地址: http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx】 引言 错误处理(Error-Handling)这个重要议题从1997年(也许更早)到2004年左右一直是一个被广泛争论的话题,曾在新闻组上、博客上、论坛上引发口水无数(不亚于语言之争),Bjarne Stroustrup、James Gosling、Anders... 阅读全文