Tôi đang cố gắng thiết kế một thư viện lớp cho một ứng dụng kỹ thuật cụ thể và tôi đang cố gắng đảm bảo rằng lớp học của tôi & quy ước đặt tên không gian tên có ý nghĩa.Không gian tên C# và quy ước đặt tên lớp con và lớp con khi vùng tên trên cùng chứa lớp cơ sở và không gian tên bên trong chứa các lớp con
Tôi có tình huống sau đây:
namespace Vehicle{
class Wheel{...} //base class for Wheel objects
class Engine{...} //base class for Engine objects
...
namespace Truck{
class Wheel: Vehicle.Wheel{...} //Truck specific Wheel object
class Engine: Vehicle.Engine{...} //Truck specific Engine object
...
}
namespace Car{
class Wheel: Vehicle.Wheel{...} //Car specific Wheel object
class Engine: Vehicle.Engine{...} //Car specific Engine object
...
}
...
}
Mã này được sử dụng theo những cách mà tất cả các lớp này sẽ cần phải được tham chiếu từ trong phạm vi tương tự. Tình hình sau đây sẽ có khả năng:
...
Vehicle.Wheel.DoSomething();
Vehicle.Truck.Wheel.DoSomething();
Vehicle.Car.Wheel.DoSomething();
...
Trong những trường hợp, tôi khấm khá hơn cho các lớp tên cụ thể hơn
namespace Car{
class CarWheel: Vehicle.Wheel{...} //Car specific Wheel object
...
}
hoặc để lại việc đặt tên như trong ví dụ đầu tiên và dựa vào các thông tin được mã hóa trong không gian tên để làm rõ? Theo cách tiếp cận thứ hai, tôi cho rằng tôi muốn sử dụng sự tăng cường cho sự rõ ràng trong mã mà sử dụng thư viện này, sửa chữa?
Dường redundent phải có:
Vehicle.Car.CarWheel
hoặc
Vehicle.Truck.TruckEngine
nhưng tôi cũng muốn có tên lớp rất mô tả và cụ thể. Về mặt lý thuyết, điều tôi đang hỏi là có bao gồm không gian tên như là một phần của tên lớp khi xem xét liệu một tên lớp có đủ mô tả hay không.
Bit "không gian tên thường được nhiều số nguyên" giúp tôi rất nhiều - cảm ơn! – mskfisher