2007-6月-12的归档

Position
Jun 2007
Position
Jun 2006
Delta in Position Programming Language Ratings
Jun 2007
Delta
Jun 2006
Status
1 1 Java 20.025% -1.10% A
2 2 C 15.967% -2.29% A
3 3 C++ 11.118% +0.45% A
4 4 (Visual) Basic 9.332% -0.85% A
5 5 PHP 8.871% -0.72% A
6 6 Perl 6.177% +0.17% A
7 8 C# 3.483% +0.25% A
8 7 Python 3.161% -0.30% A
9 10 JavaScript 2.616% +1.16% A
10 19 Ruby 2.132% +1.65% A
11 13 PL/SQL 2.015% +1.06% A
12 11 SAS 1.766% +0.39% A
13 9 Delphi 1.573% -0.82% A
14 18 D 1.253% +0.77% A
15 15 Lisp/Scheme 0.669% +0.03% B
16 21 ABAP 0.634% +0.20% B
17 16 Ada 0.632% +0.10% B
18 12 FoxPro/xBase 0.596% -0.44% B
19 14 COBOL 0.593% -0.06% B
20 22 Fortran 0.576% +0.14% B

Comments 2 Comments »

在一哥们的大力推荐下,我的boost之旅从any开始了。预先想到了要实现这种无视类型的容器,肯定需用template。但是,any本身是不可以被模板化的,因为那样,在对any赋值时必须指明实际类型,也就失去any的意义了。

想过一种可能,就是用一个模板类来继承any,但是当我看到any的代码时,竟然惊奇的发现,即使在这么小的一个文件内,实际上已经实现了bridge模式。而我原以为,bridge模式是用来处理一个大的系统当中,两个模块之间的相互关系的,换句话说,只有让我设计一个完整的工程,才有可能在需要的时候想到该模式。竟然没有想起来,bridge的本质就是分离抽像与实现。如此简单。只不过和一般的bridge模式用多个子例实现相比,boost只有一个模板化的子例。但其本质是一样的。

简单画了一个图,浅色部分是一般bridge的实现方式。any.jpg

Technorati :

Comments 沒有留言 »