2010-01-16 74 views
7

Tôi đang học lớp Web Scripting ở trường và đang làm bài tập đầu tiên. Tôi có xu hướng lạm dụng mọi thứ và nghiên cứu sâu hơn về chủ đề của mình hơn là những gì được yêu cầu trong các lớp học của tôi. Ngay bây giờ tôi đang nghiên cứu CGI.pm để làm các yêu cầu HTTP của tôi và nó nói có hai phong cách lập trình cho CGI.pm:Ưu và nhược điểm của việc sử dụng hai kiểu lập trình khác nhau của CGI.pm với Perl là gì?

  • Một phong cách hướng đối tượng
  • Một phong cách chức năng theo định hướng

Trừ khi tôi bỏ qua câu trả lời rõ ràng hoặc không am hiểu đủ để phân biệt câu trả lời cho bản thân mình từ tài liệu được cung cấp tại: http://perldoc.perl.org/CGI.html Tôi không biết ưu và nhược điểm của việc sử dụng hai kiểu khác nhau này.

Với điều đó đang được cho biết những ưu và nhược điểm của việc sử dụng hai kiểu khác nhau là gì? Cái nào thường được sử dụng hơn? Theo như sử dụng phong cách hướng đối tượng, nó nói rằng tôi chỉ có thể sử dụng một đối tượng CGI vào thời điểm đó. Tại sao vậy?

Cảm ơn sự giúp đỡ của bạn. Bạn có tất cả đã học Khoa học Máy tính rất thú vị, thỏa mãn và bổ ích cho tôi. = D

Trả lời

17

Phía sau hậu trường, CGI.pm đang làm điều tương tự bất chấp kiểu. Giao diện chức năng thực sự sử dụng một đối tượng bí mật mà bạn không thấy.

Đối với nhiều dự án CGI quy mô nhỏ, có thể bạn sẽ không bao giờ cần nhiều hơn một đối tượng CGI cùng một lúc, do đó giao diện chức năng là tốt. Đây có thể là phong cách phổ biến hơn, nhưng chỉ vì hầu hết mọi người tạo ra các kịch bản nhỏ cho các nhiệm vụ rất cụ thể. Nếu bạn có rất nhiều thứ khác đang diễn ra, bạn có thể không thích CGI.pm nhập một danh sách dài (và nó dài) các tên hàm vào kịch bản của bạn. Một số tên hàm có thể xung đột với các mô-đun khác muốn nhập.

Tôi, tuy nhiên, luôn sử dụng giao diện hướng đối tượng. Tôi không phải lo lắng về việc va chạm tên, và rõ ràng là bất cứ phương pháp nào đến từ khi bạn nhìn thấy đối tượng của nó. Bạn cũng dễ dàng chuyển đối tượng đó làm đối số cho các phần khác của ứng dụng lớn, v.v.

Một số người có thể phàn nàn về cách nhập thừa, nhưng đó không bao giờ là phần chậm của chương trình đối với tôi. Tôi đã làm Perl trong một thời gian dài và tôi không nhớ cú pháp. Tuy nhiên, tôi chỉ sử dụng CGI để có được đầu vào và có thể gửi đầu ra. Tôi không gây rối với bất kỳ thứ HTML nào.

Khi nó nói về một đối tượng CGI.pm tại một thời điểm, nó đề cập đến quyền truy cập vào đầu vào. Một khi bạn đã đọc STDIN, ví dụ, một đối tượng CGI.pm khác sẽ không thể đọc được điều đó. Bạn có thể có nhiều đối tượng như bạn muốn. Họ sẽ không chia sẻ dữ liệu và dữ liệu đầu tiên nhận được tất cả dữ liệu POST.

Bạn thực sự có thể sử dụng một hỗn hợp. Bạn có thể nhập một số thứ như :html nhưng vẫn sử dụng giao diện OO để xử lý thông tin nhập.

4

Tôi khuyên bạn nên sử dụng giao diện đối tượng.

Bạn có hoàn toàn cần thiết cho việc học của mình không? Không, trên thực tế nó được cho là quá mức cần thiết cho các dự án sản xuất nhỏ.

Tuy nhiên, nếu bạn nghiêm túc về việc học cách sử dụng CGI.pm cho các dự án quy mô lớn hơn, bạn sẽ cần phải tìm hiểu phương pháp đối tượng. Nếu bạn đạt đến điểm cần hai đối tượng, bạn sẽ phải sử dụng giao diện đối tượng. Lập trình, giống như hầu hết mọi thứ khác, trở nên tốt hơn với thực hành.Thực hành bây giờ về các vấn đề tương đối dễ dàng hơn sẽ giúp bạn sẵn sàng cho những người phức tạp hơn. Trong thực tế, tôi muốn giới thiệu nó như là một quy tắc chung trong lập trình (mặc dù có những ngoại lệ) nếu phải đối mặt với hai phương pháp sử dụng một công cụ cụ thể tạo thói quen sử dụng nhiều nhất có thể được sử dụng trong mã sản xuất và/hoặc câu trả lời đúng cho nhiều không gian vấn đề hơn.

Các vấn đề liên quan