2015-02-24 11 views
5

Một thời gian trước, tôi đọc cuốn sách trên Naked Objects và rất vui mừng bởi những ý tưởng. Chỉ viết logic kinh doanh cốt lõi của tôi và có giao diện người dùng được tạo tự động? Hãy đăng ký cho tôi!Hệ thống Tương tự như NakedObjects?

Hơn nữa, tiềm năng vượt xa điều đó. Đây có thể là một công cụ tuyệt vời trong mô hình miền. Với khả năng trực tiếp gọi đối tượng của một người, một là khuyến khích trực tiếp sử dụng các đối tượng miền của một người, và rồi người ta có thể khám phá ...

  • lỗ hổng
  • mẫu tương tác hữu ích (để thực hiện giao diện người dùng, đặc biệt thích hợp nếu một giữ xem giao diện người dùng về cơ bản là "viết mã đối tượng tên miền")
  • Tính năng mới.

Để kết thúc này, tôi quan tâm đến bất kỳ hệ thống nào tương tự như Đối tượng khỏa thân. Tôi đã làm một số công việc chân, chẳng hạn như tìm kiếm các truy cập theo chuỗi như "Giao diện người dùng trực tiếp", nhưng không tìm thấy bất kỳ điều gì hữu ích.

Bạn có biết bất kỳ công việc nào dọc theo các dòng tương tự không? Tôi muốn một cái gì đó trong PHP hoặc JavaScript và không cho rằng tôi đang chạy một hộp Linux. Tôi biết NakedPHP và Spiro (không thể tìm thấy tài liệu cho điều đó), nhưng cả hai đều về cơ bản Naked Object triển khai cho PHP và javascript, tương ứng.

Bạn có biết bất kỳ hệ thống nào khác không?

+1

Symfony 1.3+ và Propel (hiện không còn được hỗ trợ) được sử dụng để tạo biểu mẫu dựa trên lược đồ cơ sở dữ liệu cộng với mặc định hợp lý. Nó sử dụng một hệ thống xây dựng biểu mẫu OO khá phức tạp. Tôi tự hỏi nếu Symfony 2.x và một ORM (tôi nghĩ rằng Doctrine bây giờ là mặc định) làm một cái gì đó tương tự? – halfer

+0

Không phải là một góc độ xấu, nhưng những gì về một cái gì đó gắn liền với các đối tượng chính mình? –

+0

Sẽ không có ý nghĩa hơn khi kết nối giao diện người dùng với các đối tượng mô hình? Trong hầu hết các trường hợp, giao diện người dùng chỉ là kết xuất của các bảng/hàng cơ sở dữ liệu. Nếu bạn muốn làm điều này một cách rõ ràng từ các đối tượng hơn là các mô hình, thì tôi không biết - chỉ muốn ném đề xuất của Symfony vào. – halfer

Trả lời

2

Tôi nhấn vào một vài thuật ngữ chính có thể khác và tìm thấy một vài thuật ngữ, mặc dù không phải tất cả đều nằm trong javascript.

Những dường như phù hợp hơn ...

Metawidget là đặc biệt thú vị. Nó hỗ trợ javascript và dễ sử dụng. Bạn chỉ có thể cung cấp cho nó mô hình miền của bạn (một đối tượng JSON) và nó có thể tạo ra một giao diện người dùng cho nó. Hơn nữa, nó không chiếm lĩnh trang của bạn, vì vậy nó có thể sống trong một giao diện người dùng đã tồn tại từ trước và cho phép tùy chỉnh giao diện người dùng.

They also include a comparison page with similar products.

Một trong những thú vị là BlueJ; nó là một nền tảng giáo dục dựa trên (ý tưởng của?) Naked Objects, nhưng có thể được sử dụng cho các dự án nhỏ hơn. Về cơ bản bạn có thể tạo đồ họa cho các lớp của bạn thông qua một trình đơn ngữ cảnh, sau đó bạn có thể kiểm tra và gọi các phương thức đối tượng kết quả thông qua cùng một cách (có khả năng tạo thêm các đối tượng trong tiến trình).

Đi xa hơn nữa, để hướng tới bất kỳ thế hệ tự động tạo giao diện người dùng nào, có các trình hiển thị CRUD được gắn với cơ sở dữ liệu.

tôi vẫn đang nghiên cứu này, đặc biệt là những đối tượng, và đang mở để gợi ý khác.

7

Là đồng tác giả của sách Đối tượng khỏa thân, tôi muốn thêm chế độ xem của mình.

Nó không phải là không phổ biến mà mọi người thực sự thích khái niệm về mô hình đối tượng khỏa thân, nhưng không thích giao diện người dùng cụ thể. Bạn đã không nói cách đây bao lâu bạn nhìn vào việc thực hiện, hoặc thực sự, cái nào. Hai triển khai mã nguồn mở chính (có một vài người khác, nhưng ít thành lập) là:

  • Các đối tượng khung Naked, cho nền tảng .NET
  • Apache Isis, cho nền tảng Java

cả hai loại này đều có nhiều giao diện người dùng. Tuy nhiên, hãy giả sử rằng bạn đã xem xét tất cả các giao diện người dùng mặc định và không hài lòng với bất kỳ giao diện người dùng nào trong số đó. Đầu tiên, hầu hết mọi người sử dụng một trong hai khung trong một thiết lập doanh nghiệp sẽ tùy chỉnh giao diện mặc định một chút, dù chỉ sử dụng .css, hoặc với JavaScript bổ sung - nhưng vẫn giữ khái niệm giao diện người dùng 'chung' được tạo động.

Gần đây hơn, Dan Haywood và tôi đã lấy ý tưởng về mẫu đối tượng trần truồng về phía trước với sự giới thiệu đặc tả Restful Objects - API REST cực kỳ tinh khiết hoạt động cho bất kỳ mô hình tên miền phong phú nào. Cả hai việc triển khai đối tượng trần truồng bây giờ cũng thực hiện đặc tả Restful Objects. Điểm chính của vấn đề này là sử dụng API RO, nó tương đối dễ dàng để thiết kế các giao diện mới, hoàn toàn khác, giao diện người dùng (chung chung hoặc toàn bộ riêng biệt) nói chuyện với máy chủ thực hiện RO. Nói cách khác, nó là tương đối dễ dàng để tạo ra phía khách hàng của riêng bạn thực hiện các khái niệm đối tượng khỏa thân, tái sử dụng một trong hai triển khai phía máy chủ chính. Spiro, mà bạn đã đề cập, là nỗ lực đầu tiên của chúng tôi để tạo ra một thư viện các khối xây dựng để tạo ra một giao diện người dùng như vậy, sử dụng JavaScript (TypeScript, thực sự) và Angular.js. Và điều thú vị về việc sử dụng thông số RO, là bạn có thể chạy cùng một máy khách với bất kỳ cài đặt máy chủ nào. Tôi khuyên bạn nên xem xét kỹ nó.

+0

Yêu sách của bạn !!!!! Tôi không nhớ khi lần đầu tiên sử dụng nó, nhưng nó đã có trước Apache Isis và Spiro. Tôi không có ý định tấn công UI; thay vào đó, tôi đã cố gắng phân biệt mối quan tâm chính của mình với các đối tượng khỏa thân, vì vậy mọi câu trả lời sẽ không tập trung vào chất lượng của giao diện người dùng cho các lựa chọn thay thế. Tôi sẽ chỉnh sửa câu hỏi của mình cho phù hợp. Tôi thực sự muốn thử Spiro, nhưng không thể tìm thấy tài liệu hay ví dụ - có lẽ những người đó đang ở trong bản phân phối? Trong mọi trường hợp, tôi sẽ cho Spiro một cái nhìn khác. Nếu không có gì khác đi xuống đường ống, tôi sẽ chấp nhận câu trả lời của bạn. –

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