في كتاب Large-Scale C++ Software Design
لبرمجة الأنظمة الكبيرة و التعرف على افضل طرق البرمجة و اكثرها سرعة
لا يستخدم الكاتب الـ namespace ابدا لتغطية المتغيرات الخاصة بأحد المبرمجين (مثلا) او احد المكتبات او لتغطية الدوال إنما يستخدم static class لعمل نفس الوظيفة بالظبط!!
الصراحة فكرة ما خطرت على بالي من قبل و هذا مثال على تغطية بعض المتغيرات باستخدام static class بدال الـ namespace
لاحظ ان الـ default constructor يكون private عشان تضمن ما تنشء أي كائن إنما تستخدم الـ class مجرد كمكتبة للدوال
و أيضا كل الدوال تكون static و إلا ما تقدر تستخدمها خارج الclass لأنك اصلا ما تقدر تنشء كائن من هذا الـ class
class HussainLib
{
HussainLib();
public:
static float PI()
{ return 3.14; }
static int add(int x, int y)
{ return x + y; }
static float hussain_constant()
{ return 465564695.558575; }
};
و جذي طبعا تنادي الدوال بكل بساطة
float PI = HussainLib::PI(); int addition = HussainLib::add(5, 2); float scientific = HussainLib::hussain_constant();
انا الصراحة بالنسبة لي احسن من الـ namesapce لأني مو متعود عليها أبدا :)
آرائكم


