2016-10-21 39 views
6

Tôi đã đọc dữ liệu cốt lõi đó không phải là ORM? Ai có thể vui lòng liệt kê ra rằng tại sao nó không phải là một ORM?Tại sao dữ liệu lõi không phải là ORM

điểm của tôi:

  1. Trong khi sử dụng dữ liệu cốt lõi chúng tôi làm việc chủ yếu trên các đối tượng tương tự như trong ORM.
  2. Tất cả truy cập và thao tác được thực hiện trên các đối tượng.
  3. Chúng tôi có thể thay đổi chương trình phụ trợ và hỗ trợ nhiều chương trình phụ trợ như sqlite, plist, trong bộ nhớ.
+0

Quản lý đồ thị đối tượng và ánh xạ quan hệ đối tượng không loại trừ lẫn nhau. Dữ liệu cốt lõi không phải là một cơ sở dữ liệu, nhưng không phải mọi hệ thống ORM đều là một cơ sở dữ liệu. –

Trả lời

1

Câu trả lời ngắn gọn: CoreData không chỉ là triển khai ORM.

Long trả lời:

ORM wikipedia định nghĩa là: lập bản đồ

đối tượng quan hệ (ORM, O/RM, và O/R lập bản đồ) trong phần mềm máy tính là một kỹ thuật lập trình cho chuyển đổi dữ liệu giữa các hệ thống loại không tương thích trong cơ sở dữ liệu quan hệ và lập trình hướng đối tượng ngôn ngữ. Điều này tạo ra, có hiệu lực, một cơ sở dữ liệu đối tượng ảo "có thể là được sử dụng từ trong ngôn ngữ lập trình .

Nói một cách đơn giản, nó chỉ là trừu tượng hóa hoặc ảo hóa một lớp kiên trì quan hệ giúp giảm thiểu nỗ lực truy cập và ghi vào/trong đó. (Lưu ý: đối tượng-quan hệ mapping)

Trong khi CoreData bang định nghĩa:

Core Data là một khuôn khổ mà bạn sử dụng để quản lý các đối tượng mô hình lớp trong ứng dụng của bạn. Nó cung cấp các giải pháp tổng quát và tự động cho các tác vụ phổ biến liên quan đến vòng đời đối tượng và quản lý đồ thị đối tượng, bao gồm cả sự kiên trì.

Định nghĩa Coredata không đề cập đến kết hợp với định nghĩa ORM, dù nó có vẻ tuân thủ đầy đủ.

Sự khác biệt tôi thấy là: kể từ khuôn khổ CoreData tách lớp trừu tượng của nó (Objects ManagedManaged bối cảnh đối tượng) từ lớp bền bỉ của nó (Persistence cửa hàng) thông qua Điều phối viên Persistence Store, nó có thể trừu tượng các đối tượng từ một cơ sở dữ liệu quan hệ, như sqlite, cũng như từ bất kỳ lớp kiên trì không quan hệ nào khác.

Để hỗ trợ tuyên bố này, đây NSHipster mô tả ngắn gọn:

Trái ngược với niềm tin phổ biến, Core Data không phải là một Object-Relational Mapper, mà đúng hơn là một đồ thị đối tượng và khuôn khổ kiên trì, có khả năng [.. .]. Sử dụng Dữ liệu cốt lõi làm ORM nhất thiết giới hạn khả năng của Dữ liệu cốt lõi và làm mờ sự tinh khiết về khái niệm của nó.

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