آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

ارسال مجدد کد یکبار مصرف (00:90)
  • 02177010771
  • info@chabokacademy.com
  • اخبار و مقالات
  • علاقمندی ها
آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
شروع کنید
0

وبلاگ

آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی > اخبار و مقالات > برنامه نویسی > اصول SOLID در برنامه نویسی شی گرا: راهی برای ساخت کدی قابل توسعه و نگهداری

اصول SOLID در برنامه نویسی شی گرا: راهی برای ساخت کدی قابل توسعه و نگهداری

فروردین 11, 1403
ارسال شده توسط ادمین آکادمی
برنامه نویسی
اصول SOLID در برنامه نویسی شی گرا

فهرست مطالب این نوشته

Toggle
  • SOLID چیست؟
  • اصول برنامه‌نویسی شی‌گرا (اصول شی گرایی)
  • اصول solid (قوانین Solid)
  • مثال اصول solid در سی شارپ
  • مثال اصول SOLID در پایتون
  • اهمیت قوانین و اصول Solid در زبان‌های برنامه‌نویسی مختلف
  • اهمیت رعایت اصول SOLID در سی شارپ و پایتون
تعداد بازدید: 106
5/5 امتیاز

اصول SOLID را در برنامه نویسی شی‌گرا می‌توان اصولی قانونمند به‌شمار آورد. توسعه‌دهندگان با رعایت این اصول می‌توانند کدهایی قابل نگهداری و توسعه ایجاد کنند. در برنامه نویسی شی‌گرا، اصول SOLID به بهبود ساختار، کیفیت کدها و توسعه هرچه‌ بهتر آن‌ها منجر می‌شود. یکی از مهم‌ترین مجموعه اصول در این زمینه، اصول SOLID در برنامه نویسی است. در دنیای برنامه نویسی شی‌گرا، استفاده از اصول صحیح طراحی نرم‌افزار، نقش مهمی در خوانایی، توسعه‌پذیری و نگهداری کد دارد.

chabokacademy
دوره‌های آموزشی آکادمی چابک
با تخفیف‌های ویژه آکادمی چابک، یادگیری را شروع کنید!
مشاهده دوره‌ها

به کمک اصول SOLID در برنامه نویسی شی‌گرا، امکان سازمان‌دهی کدها به‌شیوه بهتر، بهبود عملکرد و کارایی کلی برنامه وجود دارد. تغییرات به‌شکل پایدارتر و باسرعت بالاتری با اصول SOLID در کدها قابل اعمال هستند؛ اگر تاکنون در مورد قوانین SOLID و کارایی آن‌ها در برنامه‌نویسی شی‌گرا اطلاعات چندانی به‌دست نیاورده‌اید، این مطلب برای شما آماده شده است.

این اصول به برنامه‌نویسان کمک می‌کنند تا کدهایی ماژولار، قابل تست و مقیاس‌پذیر ایجاد کنند. در این مقاله، به بررسی این اصول و مفهوم SOLID در برنامه نویسی پرداخته و کاربرد آن‌ها در زبان‌هایی مانند سی شارپ و پایتون را توضیح می‌دهیم.

SOLID چیست؟

Solid مجموعه‌ای از اصول طراحی برنامه‌نویسی به‌شمار می‌رود. این اصول برنامه‌نویسی به‌وسیله Robert C. Martin که به استاد Clean Code معروف بوده، معرفی شده‌اند. البته بد نیست بدانید برای اولین بار اصول Solid در دهه ۱۹۹۰ به‌وسیله مایکل فیدرز و جیم وایر مطرح شد؛ اما رابرت سی. مارتین این اصول را به‌شکل کامل‌تری به بشریت ارائه کرد.

SOLID چیست؟

در حال حاضر اصول Solid را راهنمایی عملی برای نوشتن کدهای قابل توسعه، قابل نگهداری و باکیفیت می‌شناسند.

اصول Solid در برنامه‌نویسی شی‌گرا و دیگر زبان‌های برنامه‌نویسی مانند جاوا، سی شارپ و موارد دیگر تاثیرات مثبت زیادی می‌گذارد و به توسعه‌دهندگان کمک می‌کند تا کدهای خود را بهبود دهند و از مشکلاتی که ممکن است در طراحی کدها به‌وجود آید، جلوگیری نمایند. تاثیرات مثبت Solid باعث شده امروزه آموزش اصول Solid در جاوا و دیگر زبان‌های برنامه نویسی یکی از مهم‌ترین اصول آموزشی به‌حساب آید.

اصول برنامه‌نویسی شی‌گرا (اصول شی گرایی)

اصول شی‌گرایی در برنامه نویسی به چهار اصل اساسی تقسیم می‌شود که به طراحی بهتر و مدیریت کد کمک می‌کند. برای آنکه بتوانید به‌خوبی از اصول Solid در برنامه نویسی شی‌گرا بهره‌مند شوید، باید در مورد اصول برنامه‌نویسی شی‌گرا هم اطلاعاتی به‌دست آورید. قوانینی که اصول برنامه‌نویسی شی‌گرا روی آن‌ها تمرکز دارد، قوانین زیر هستند:

آموزش طراحی و پیاده‌سازی مدل‌های پیش‌بینی به‌کمک الگوریتم‌های ترکیبی با استفاده از Python
بخوانید

Abstraction یا انتزاع

این اصل به‌معنی مخفی کردن جزئیات پیچیده و تنظیمات داخلی یک شی است. با استفاده از اصل انتزاع شما می‌توانید به عملکردها و ویژگی‌های مهم کدها توجه بیشتری داشته باشید. اصل انتزاع در برنامه نویسی شی‌گرا یکی از مهم‌ترین اصولی است که شما در آموزش‌های برنامه نویسی آکادمی چابک یاد می‌‌گیرید. جزئیات پیچیده پنهان شده و تنها جنبه‌های ضروری به کاربر نشان داده می‌شود. این امر باعث ساده‌سازی کد و کاهش پیچیدگی‌ها می‌شود.

Inheritance یا وراثت

وراثت بدین معناست که یک کلاس از کلاس دیگر ویژگی‌ها و عملکردهایی را ارث می‌برد. اصل وراثت این امکان را برای شما فراهم می‌کند که کلاسی جدید با ویژگی‌ها و عملکردهای کلاس موجود، بسازید. یک کلاس می‌تواند ویژگی‌ها و رفتارهای کلاس دیگر را به ارث ببرد. این ویژگی باعث کاهش تکرار کد و استفاده مجدد از آن می‌شود.

Polymorphism یا چندریختی

مفهوم چندریختی به شما اجازه می‌دهد که یک متد عمومی با ورودی‌های متفاوت تعریف کنید. برای درک بهتر این اصل در برنامه‌نویسی شی‌گرا، انسان را یک شی در نظر بگیرید. از آن‌جایی که همه انسان‌ها غذا می‌خورند، شما می‌توانید برای این شی با اصل چندریختی متدی به‌نام food تعریف کنید. با توجه به اینکه همه انسان‌ها غذای یکسانی نمی‌خورند، متد food می‌تواند ورودی‌های مختلفی داشته باشد. یک متد یا عمل می‌تواند اشکال مختلفی داشته باشد و بر اساس نوع شیء رفتار متفاوتی از خود نشان دهد. این اصل باعث انعطاف‌پذیری بیشتر در برنامه‌نویسی می‌شود.

Encapsulation یا کپسوله‌سازی

کپسوله‌سازی به‌معنی جمع‌آوری عملکردها و داده‌های مرتبط در یک شی‌ء و محدود کردن دسترسی به این عملکردها و داده‌ها طبق یک دستور‌العمل مشخص است. داده‌ها و متدهای یک شی در داخل آن نگهداری می‌شوند و دسترسی به آن‌ها فقط از طریق متدهای عمومی صورت می‌گیرد. این کار باعث محافظت از داده‌ها و کاهش تغییرات ناخواسته می‌شود.

با اصول نام برده، برنامه‌نویسان می‌توانند نرم‌افزارهایی ساختاردهی‌شده ایجاد کنند، همچنین با ترکیب اصول Solid در برنامه نویسی شی‌گرا ساختاردهی نرم‌افزارها ساده‌تر می‌شود.

اصول solid (قوانین Solid)

قوانین یا اصول Solid در برنامه نویسی از پنج اصل اساسی برخوردارند، اصول Solid در پایتون، سی‌شارپ، ASP.net و جاوا هم حائز اهمیت هستند. به‌عنوان یک مبتدی اگر می‌خواهید در مورد قوانین Solid اطلاعاتی به‌دست آورید، ما به شکل زیر این اطلاعات را در اختیار شما قرار می‌دهیم.

اصول SOLID مجموعه‌ای از پنج اصل طراحی در برنامه‌نویسی شی‌گرا است که توسط رابرت سی. مارتین (Robert C. Martin) معرفی شده است. این اصول به بهبود ساختار کد و کاهش پیچیدگی آن کمک می‌کنند. SOLID مخفف پنج اصل زیر است:

  • Single Responsibility Principle (SRP): اصل مسئولیت واحد
  • Open/Closed Principle (OCP): اصل باز/بسته
  • Liskov Substitution Principle (LSP): اصل جایگزینی لیسکوف
  • Interface Segregation Principle (ISP): اصل جداسازی رابط
  • Dependency Inversion Principle (DIP): اصل وارونگی وابستگی
کراس پلتفرم چیست؟
بخوانید

اصل مسئولیت واحد Single Responsibility Principle (SRP)

اصل مسئولیت‌پذیری تکی در قوانین Solid بدین معناست که هر کلاس یا شیء تنها باید یک مسئولیت خاص داشته باشد و طبق این اصل، انتساب مسئولیت‌های متعدد به یک شیء یا کلاس درست نیست.

هر کلاس یا ماژول باید تنها یک دلیل برای تغییر داشته باشد. یعنی هر کلاس باید تنها یک وظیفه خاص را انجام دهد. این اصل باعث می‌شود که کدها خواناتر شده و تغییرات ساده‌تر انجام شوند.

اصل باز/بسته (OCP) Open/Closed Principle

اصل باز و بسته بودن، به‌ این معنا است که برنامه را باید به‌گونه‌ای طراحی کنید که هنگام اضافه کردن ویژگی‌های جدید، کد موجود دچار تغییر نشود. کلاس‌ها باید برای توسعه باز و برای تغییر بسته باشند. یعنی بتوان عملکرد آن‌ها را بدون نیاز به تغییر در کد موجود گسترش داد.

اصل جایگزینی لیسکوف (LSP) Liskov Substitution Principle

اصل جایگزینی لیسکوف می‌گوید باید هر کلاس مشتق‌شده از یک کلاس پایه، قابلیت استفاده به‌جای آن کلاس پایه را داشته باشد بدون آنکه در عملکرد برنامه تغییری ایجاد شود. هر کلاس فرزند باید بتواند بدون ایجاد مشکل، جایگزین کلاس والد شود. این اصل تضمین می‌کند که کلاس‌های فرزند بدون تغییر در رفتار اصلی برنامه قابل استفاده باشند.

اصل جداسازی رابط (ISP) Interface Segregation Principle

اصل جداسازی اینترفیس بدین معنا است که اینترفیس باید به‌گونه‌ای طراحی شود که تنها متدهای لازم برای هر کلاس در آن وجود داشته باشد. بهتر است به جای ایجاد یک رابط بزرگ، چندین رابط کوچک‌تر و اختصاصی داشته باشیم. این کار باعث کاهش وابستگی‌های غیرضروری و افزایش انعطاف‌پذیری در برنامه می‌شود.

اصل وارونگی وابستگی (DIP) Dependency Inversion Principle

اصل وابستگی معکوس می‌گوید که وابستگی بین‌ کلاس‌ها نباید به‌گونه‌ای باشد که کلاس‌ها به جزئیات پیاده‌سازی برنامه وابسته شوند. این اصل معمولا روی اینترفیس و خلاصه‌سازی تمرکز دارد. کلاس‌ها باید به رابط‌ها یا کلاس‌های انتزاعی وابسته باشند، نه به پیاده‌سازی‌های خاص. این اصل باعث می‌شود که وابستگی بین ماژول‌ها کاهش یابد و قابلیت تغییر و تست‌پذیری برنامه بهبود پیدا کند.

تمامی اصول نام برده با برنامه‌نویسی شی‌ء‌گرا همخوانی داشته و استفاده از آن‌ها در این زمینه برنامه‌نویسی کاملا ملموس است.

قوانین SOLID

مثال اصول solid در سی شارپ

مثال اصل SRP در سی شارپ

public class Employee
{
public string Name { get; set; }
public decimal Salary { get; set; }
}

public class SalaryCalculator
{
public decimal CalculateSalary(Employee employee)
{
// محاسبه حقوق
return employee.Salary;
}
}

public class EmployeeRepository
{
public void Save(Employee employee)
{
// ذخیره‌سازی داده‌ها
}
}

مثال اصل OCP در سی شارپ

public interface IDiscountStrategy
{
decimal ApplyDiscount(decimal amount);
}

راهنمای کامل نقشه راه فرانت اند برای توسعه وبسایت
بخوانید

public class RegularDiscount : IDiscountStrategy
{
public decimal ApplyDiscount(decimal amount)
{
return amount * 0.9m; // تخفیف 10%
}
}

public class SeasonalDiscount : IDiscountStrategy
{
public decimal ApplyDiscount(decimal amount)
{
return amount * 0.7m; // تخفیف 30%
}
}

public class Order
{
private IDiscountStrategy discountStrategy;

public Order(IDiscountStrategy discountStrategy)
{
this.discountStrategy = discountStrategy;
}

public decimal CalculateTotal(decimal amount)
{
return discountStrategy.ApplyDiscount(amount);
}
}

مثال اصل LSP در سی شارپ

public class Bird
{
public virtual void Fly() { }
}

public class Sparrow : Bird
{
public override void Fly()
{
// پرواز
}
}

public class Penguin : Bird
{
public override void Fly()
{
// پنگوئن پرواز نمی‌کند، بنابراین اینجا اشتباه است
}
}

در این مثال، جایگزینی Penguin به جای Bird باعث می‌شود که کد دچار مشکل شود. برای رعایت LSP باید رفتار پرواز را به طور صحیح درک کرد.

مثال اصل ISP در سی شارپ

public interface IWorker
{
void Work();
}

public interface IManager
{
void Manage();
}

public class Employee : IWorker
{
public void Work()
{
// کار کردن
}
}

public class Manager : IWorker, IManager
{
public void Work()
{
// کار کردن
}

public void Manage()
{
// مدیریت
}
}

مثال اصل DIP در سی شارپ

public interface IPrinter
{
void Print(string content);
}

public class InkjetPrinter : IPrinter
{
public void Print(string content)
{
// چاپ با پرینتر جوهرافشان
}
}

public class LaserPrinter : IPrinter
{
public void Print(string content)
{
// چاپ با پرینتر لیزری
}
}

public class Document
{
private IPrinter printer;

public Document(IPrinter printer)
{
this.printer = printer;
}

public void PrintDocument(string content)
{
printer.Print(content);
}
}

در این مثال، وابستگی به IPrinter باعث می‌شود که بتوانید انواع مختلف پرینترها را بدون تغییر در کد اصلی Document استفاده کنید.

قوانین Solid

مثال اصول SOLID در پایتون

مثال اصل SRP در پایتون

class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary

def calculate_tax(self):
return self.salary * 0.1

مثال اصلOCP در پایتون

class Shape:
def area(self):
raise NotImplementedError(“Subclass must implement abstract method”)

class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height

def area(self):
return self.width * self.height

class Circle(Shape):
def __init__(self, radius):
self.radius = radius

def area(self):
return 3.14 * (self.radius ** 2)

مثال اصلLSP در پایتون

class Bird:
def fly(self):
print(“Flying”)

class Ostrich(Bird):
def fly(self):
raise Exception(“Ostriches cannot fly!”)

مثال اصلISP در پایتون

class Printer:
def print_document(self, document):
pass

class Scanner:
def scan_document(self, document):
pass

class AllInOnePrinter(Printer, Scanner):
def print_document(self, document):
print(“Printing document:”, document)

def scan_document(self, document):
print(“Scanning document:”, document)

مثال اصلDIP در پایتون

from abc import ABC, abstractmethod

class Database(ABC):
@abstractmethod
def connect(self):
pass

class MySQLDatabase(Database):
def connect(self):
print(“Connecting to MySQL database”)

class Application:
def __init__(self, database: Database):
self.database = database

def start(self):
self.database.connect()

db = MySQLDatabase()
app = Application(db)
app.start()

اهمیت قوانین و اصول Solid در زبان‌های برنامه‌نویسی مختلف

اهمیت اصول Solid در برنامه نویسی شی‌گرا بر هیچ‌ توسعه‌دهنده‌ای پوشیده‌ نیست. اما اصول Solid نه تنها در برنامه نویسی شیء‌گرا، بلکه در اکثر زبان‌های برنامه نویسی نقش تاثیرگذاری روی کیفیت کدها و قابلیت نگه‌داری آن‌ها دارد. نقش تاثیرگذار اصول Solid در زبان‌های برنامه نویسی مختلف، به‌شکل زیر هستند.

پردرآمدترین زبان برنامه‌نویسی: رتبه‌بندی و مقایسه + چالش‌ها و فرصت‌ها
بخوانید

کاهش وابستگی

اصول Solid در زبان‌های برنامه نویسی مختلف این امکان را برای برنامه‌نویسان فراهم می‌کنند تا وابستگی‌های غیرضروری بین کلاس‌ها را کاهش دهند. با کاهش وابستگی کلاس‌ها، احتمال اثرات جانبی و تغییرات ناخواسته روی دیگر بخش‌های کد کمتر می‌شود.

قابلیت تست

اصول Solid در c# و زبان‌های برنامه نویسی دیگر، ساختاری واضح و منظم برای کدها ایجاد می‌کند؛ از همین‌رو تست و نوشتن تست‌های واحد آسان‌تر می‌شود. شما می‌توانید با اصول Solid به‌راحتی تست‌هایی واحد برای هر قسمت از کدها ایجاد کنید.

قابلیت توسعه

با رعایت اصول Solid در asp net core، جاوا، سی شارپ، پایتون و زبان برنامه نویسی شیء‌گرا، کدهای برنامه قابل توسعه و اصلاح خواهند بود. شما می‌توانید با رعایت این اصول تغییرات را به‌راحتی در برنامه اعمال کرده و کارایی برنامه را حفظ کنید.

خوانایی

اصول Solid به ساختارمند شدن و خواناتر شدن کدهای برنامه کمک می‌کنند؛ از همین‌رو فهمیدن کدها راحت‌تر می‌شود و اعمال تغییرات لازم در کدها دیگر چندان سخت نیست.

افزایش بهره‌وری

اصول Solid به افزایش بهره‌وری در توسعه و نگهداری کدها کمک می‌کند. با این اصول، زمان و هزینه مربوط به توسعه و نگهداری کدها تا حد زیادی کاهش پیدا کرده و پروژه به شکل پایدارتری پیش می‌رود.

اهمیت رعایت اصول SOLID در سی شارپ و پایتون

در زبان‌هایی مانند سی شارپ و پایتون، رعایت اصول SOLID به برنامه نویسان کمک می‌کند تا کدهایی ساختاریافته و قابل توسعه داشته باشند. این اصول در پروژه‌های بزرگ و تیمی نقش اساسی دارند. به‌عنوان مثال:

  1. در سی شارپ: استفاده از Interface و Abstract Class باعث پیاده‌سازی صحیح اصل وارونگی وابستگی و جداسازی رابط می‌شود.
  2. در پایتون: پیاده‌سازی الگوهای طراحی مانند استفاده از متدهای انتزاعی و ارث‌بری صحیح به رعایت اصول SOLID کمک می‌کند.

کلام آخر

در این مطلب سعی کردیم در رابطه با اصول سالید در برنامه نویسی شی‌گرا اطلاعاتی در اختیار شما قرار دهیم. همانطور که دریافتید، اصول Solid به ایجاد کدهایی با قابلیت نگهداری بالا و توسعه راحت منجر می‌شوند. اصول Solid در پنج دسته تقسیم‌بندی شده و علاوه‌بر تاثیر روی برنامه‌نویسی شی‌ءگرا در تمامی زبان‌های برنامه‌نویسی موثر هستند.​

منابع

freecodecamp.org

قبلی نحوه و اهمیت تست نویسی در برنامه نویسی
بعدی کشف استعداد شغلی: چطور علاقه، استعداد و هدف خود را پیدا کنیم؟

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • آموزش گرافیک کامپیوتری
  • امنیت و شبکه
  • برنامه نویسی
  • پایگاه داده
  • سیستم عامل
  • طراحی وب
  • کسب و کار
  • هوش مصنوعی
برچسب‌ها
MBA آموزش و کاربرد هوش مصنوعی اهداف شغلی بازاریابی محصول کسب و کار اینترنتی
logoacademy
آکادمی چابک با برگزاری دوره‌های جامع و تخصصی در حوزه‌ی نرم‌افزار، تحلیل کسب‌وکار و همچنین مشاوره‌های تخصصی در این حوزه‌ها سعی بر آن دارد تا علاقمندان پس از گذراندن دوره‌های مربوطه بتوانند از دانش و مهارت‌ خود بهترین استفاده را کرده و وارد بازار کار شوند.
 

ارتباط با ما

  • ۰۲۱۷۷۰۱۰۷۷۱
  • info@chabokacademy.com
  • حکیمیه، بلوار بابائیان، ۱۵ متری امام حسین، بن بست شفاعت، پلاک ۱۵، طبقه ۷

دسترسی سریع

  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما
  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما

نماد‌ها و خبرنامه

۱۴۰۲© کلیه حقوق سایت نزد آکادمی چابک محفوظ است.

  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط