2009-03-24 31 views
5

Spring Python có vẻ là tiêu chuẩn vàng về cách xác định các API có chất lượng tốt bằng Python - dựa trên Spring cũng có vẻ là tiêu chuẩn vàng cho các API Java.Hướng dẫn trực tuyến tốt nhất để bắt đầu với Spring Python

Người quản lý của tôi đã phàn nàn (với lý do chính đáng) rằng các API của chúng tôi đang gặp rắc rối - chúng tôi cần áp đặt một số lệnh cho họ. Vì chúng ta sẽ tính lại nó, nên tận dụng lợi thế của những gì được coi là thực hành tốt nhất - vì vậy chúng tôi muốn xem xét Mùa xuân.

Ai đó có thể chỉ cho tôi các tài nguyên học tập tốt nhất để bắt đầu với Mùa xuân? Tôi đã googled một lúc và không tìm thấy bất cứ điều gì mà dường như bắt đầu từ nguyên tắc đầu tiên. Tôi đang tìm một cái gì đó mà giả định kiến ​​thức tốt về Python nhưng không có kiến ​​thức về Spring trên nền tảng khác hoặc nguyên tắc của nó.

Cảm ơn

+0

"Spring Python có vẻ là tiêu chuẩn vàng về cách xác định các API chất lượng tốt bằng Python" - bạn đã đi đến kết luận như thế nào? – Vasil

+0

Bạn có nguồn không? http://sourceforge.net/projects/springpython/ Có gì sai khi đọc nguồn? Bạn có bài viết wikipedia không? http://en.wikipedia.org/wiki/Spring_Python Bạn cần gì hơn? bạn có câu hỏi riêng không? –

+0

@Vasil: Bài viết wikipedia nói điều đó. Do đó (rõ ràng) đó là sự thật. –

Trả lời

10

Làm cách nào bạn quyết định chọn Spring Python làm API của bạn? Spring hoạt động tốt trên Java, nơi có truyền thống lập trình khai báo; xác định ứng dụng của bạn chủ yếu bằng cách sử dụng XML để điều khiển một công cụ cốt lõi là một mẫu chuẩn trong Java. Trong Python, trong khi các mẫu cơ bản như Inversion of Control vẫn là apposite (tùy thuộc vào trường hợp sử dụng của bạn), triển khai được chọn bởi Spring trông giống như một trường hợp cổ điển của một thứ được tạo ra bởi một lập trình viên Java không muốn học Python. Xem bài viết được đề cập đến Python is Not Java.

Tôi hoan nghênh quyết định của bạn để giới thiệu thứ tự và chu đáo với mã nguồn của bạn, nhưng bạn có thể muốn đánh giá một số tùy chọn trước khi đưa ra quyết định. Đặc biệt, bạn có thể thấy rằng việc sử dụng Spring Python sẽ làm cho việc lập trình Python trở nên khó khăn, nhiều người trong số họ sẽ chạy theo cách khác khi đối mặt với các tệp XML 1000 dòng mô tả các tương tác đối tượng.

Có thể bắt đầu bằng cách kiểm tra lại những gì bạn thực sự muốn thực hiện. Vấn đề không thể đơn giản là "bạn cần một khuôn khổ". Có rất nhiều khung công tác ở đó và rất khó để đánh giá a) nếu bạn thực sự cần một và b) cái nào sẽ hoạt động nếu bạn chưa xác định được những vấn đề phần mềm cơ bản bạn cần giải quyết.

Nếu vấn đề thực sự là mã của bạn là một mớ hỗn độn không thể duy trì, việc giới thiệu một khuôn khổ có thể sẽ không khắc phục được sự cố. Thay vì chỉ có mã lộn xộn, bạn sẽ có mã lộn xộn theo kiểu của người khác :-) Có lẽ sự khắt khe trong nhóm dev là nơi bạn nên bắt đầu trước: lập kế hoạch tốt, đánh giá mã, thực hành tuyển dụng nghiêm ngặt, bản phát hành "dọn dẹp" , v.v ...

Chúc bạn may mắn với nghiên cứu.

+0

Mã của chúng tôi chủ yếu là khá tốt - tuy nhiên các API không phù hợp. Chúng tôi muốn làm cho API của chúng tôi dễ sử dụng hơn và có cơ hội hưởng lợi từ những gì mà các nhà lãnh đạo trong thiết kế API đã đạt được. –

+0

Xin lưu ý rằng Spring Python không chỉ là một cổng đơn giản [1], cũng không bị ràng buộc với XML. Đừng chạy trốn khỏi XML, chỉ cần sử dụng trang trí thay thế! [2] Tôi luôn luôn chào đón cách để làm cho mọi thứ bắt đầu. - 1. http://tinyurl.com/dz3dk6, 2. http://tinyurl.com/dzupa9, 3. http://tinyurl.com/d53d8v – gregturn

+0

Hãy cắt qua vấn đề này - bạn muốn có sự nhất quán API. Tôi khuyên bạn nên đọc PEP-0008 http://www.python.org/dev/peps/pep-0008/, đó là hướng dẫn về phong cách chính thức cho python. – gregturn

1

Tôi sẽ không đi xa như vậy để đề nghị rằng Spring Python là xấu (vì tôi không biết đủ về nó). Tuy nhiên, để gọi Spring Python, "tiêu chuẩn vàng cho Python API" là một đoạn. Với tôi, có vẻ như Spring Python là một cách để cho phép các ứng dụng Python tương tác với các ứng dụng Java bằng cách sử dụng Spring.

Ở bất kỳ mức nào, sau khi xem lướt qua sơ đồ tại số official documentation, có vẻ như khá dễ hiểu đối với tôi có kiến ​​thức về Python nhưng không có kiến ​​thức về mùa xuân. Bên cạnh thực tế là nó gần như trông giống như mã Java, nơi tác giả quên các tên tập tin, dấu chấm phẩy và các dấu ngoặc nhọn. :-)

+0

Tôi cần phải đề cập: Chúng tôi là một cửa hàng Java + Python. Tất cả logic kinh doanh của chúng tôi là trong ptython. Hầu hết GUI của chúng tôi là Java, vì vậy làm cho Python chơi tốt đẹp với Java là REALLY quan trọng đối với chúng tôi. Các nhà phát triển Java yêu mùa xuân và tôi không thể nghĩ ra một lý do chính đáng để làm họ thất vọng. –

+0

Điều đó nghe như một lý do hoàn toàn hợp lý để sử dụng nó cho tôi. Nhưng bạn nên chuẩn bị sẵn sàng để có được các phản ứng như bạn đã thấy trong câu hỏi này để sử dụng một khung công tác định hướng java trong Python. :-) –

+0

Spring Python không được xây dựng để chỉ tích hợp với Java. Trong thực tế, phần đó là một chút yếu ngay bây giờ. Tuy nhiên, thêm tính bảo mật cho ứng dụng của bạn, cung cấp các cách dễ dàng để thực hiện SQL dễ dàng (viết tắt của ORM) và mã chặn động trong thư viện của bên thứ ba với AOP có vẻ như các công cụ có giá trị. – gregturn

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