Bất kỳ phương pháp lập trình luồng chính thay thế nào cho OOP bằng C #?


8

Theo như ngôn ngữ lập trình, tôi yêu C # và vì vấn đề đó, tất cả những điều tốt đẹp đến từ khung .net (LINQ, v.v.).

Mối quan tâm chính của tôi là dường như tôi đang tạo ra quá nhiều mã và khi sử dụng OOP, tôi có một lo ngại rằng mã của tôi không phải lúc nào cũng dễ quản lý.

Tôi muốn tiếp tục sử dụng C # và .Net, nhưng có cách tiếp cận nào khác để áp dụng ngôn ngữ để có được ít mã hơn và dễ quản lý hơn so với sách giáo khoa OOP không?

Cảm ơn trước!

Câu trả lời:


11

Có - tôi đã tìm thấy vấn đề tương tự. OOP không phải là cách tốt nhất để giải quyết mọi vấn đề. Tuy nhiên, C # hỗ trợ mô hình chức năng khá tốt và hiện tại tôi đã sử dụng nó thành công cho một vài dự án.

Có một cuộc nói chuyện thú vị ở đây liên quan đến đơn giản hóa sẽ cung cấp cho bạn một số thực phẩm để suy nghĩ ít nhất: http://skillsmatter.com/podcast/design-arch architecture / fax- is- better


1

Nếu bạn sẵn sàng thử nghiệm, hãy thử AOP / C # như ở đâyđây . PDF có một tờ tốt về ưu và nhược điểm.


1

Lập trình hướng theo khía cạnh có thể cho phép bạn đạt được một số hiệu quả bằng cách xử lý "mối quan tâm xuyên suốt" của bạn một cách thống nhất. Có những lợi ích khác có thể có, nhưng theo tôi nó sẽ hữu ích cho bạn!

http://en.wikipedia.org/wiki/Aspect-oriented_programming http://www.sharpcrafters.com/aop.net


0

Trước khi đi quá xa vào các phương pháp khác nhau, hãy đảm bảo tận dụng tái cấu trúc để đơn giản hóa và hợp nhất mã của bạn. Dưới đây là danh mục của Fowler, " Danh sách tái cấu trúc alpha " , mỗi danh sách có thể giúp bạn cải thiện và quản lý mã C # của mình.

Bằng cách học cách thiết kế hiệu quả để tái sử dụng và tối ưu hóa ứng dụng giao diện, lớp trừu tượng, phân cấp lớp, tiêm phụ thuộc và các công cụ tương tự tồn tại trong phương pháp hướng đối tượng tiêu chuẩn, bạn có thể thấy mình đạt được kết quả mong muốn .

Ngoài ra, @Chris Smith đã chỉ cho bạn một thực tế rằng các phiên bản mới hơn của C # (3.5 và 4.0) đã thêm một số khả năng lập trình chức năng có thể giúp bạn làm cho mã của bạn rung chuyển!

Nếu bạn thấy bạn thích lập trình chức năng, hãy dùng thử ngôn ngữ F # mới của Microsoft ! Nó thực sự giống như "chức năng đối tượng", một hỗn hợp của hai phương pháp. Bạn cũng có thể muốn biết rằng bạn có thể trộn F # và C # trong cùng một Giải pháp .NET .

Tôi cũng đồng tình với các nhà bình luận khác rằng AOP chắc chắn có công dụng của nó!


0

OOPS có thể đã gây ra nhiều mã hơn nhưng nếu ứng dụng của bạn lớn, độ phức tạp giảm mà OOPS mang lại sẽ dẫn đến mã rõ ràng, có thể quản lý và rõ ràng. Nếu đây không phải là trường hợp và bạn cảm thấy đó là một gánh nặng thì tôi chắc chắn bạn có thể đã sử dụng không đúng cách. kiểm tra xem các lớp của bạn có đại diện đúng cho các đối tượng miền hay không và sự giao tiếp giữa chúng gần với cách nó xảy ra trong hệ thống thế giới thực mà bạn cố gắng mô phỏng trong chương trình.

Trong C #, quá nhiều mã không phải là lý do thực tế để di chuyển khỏi OOPS IMHO. Một sự thay đổi mô hình nên có một lý do hợp lệ hơn nhiều, trong thực tế.

người ta có thể thực hiện 'lập trình có cấu trúc' trong C # .. nhưng tôi đoán nó sẽ lãng phí thời gian và công sức. Và hầu hết các lựa chọn thay thế chính cũng sử dụng OOPS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.