Bộ mô tả 'Engine' bị ném rất nhiều: công cụ đồ họa, công cụ RegEx, công cụ AI, v.v. nhưng điều gì thực sự tạo nên một phần mềm của một Công cụ? Thiết kế, đầu vào / đầu ra, mục đích, kích thước?
Bộ mô tả 'Engine' bị ném rất nhiều: công cụ đồ họa, công cụ RegEx, công cụ AI, v.v. nhưng điều gì thực sự tạo nên một phần mềm của một Công cụ? Thiết kế, đầu vào / đầu ra, mục đích, kích thước?
Câu trả lời:
Một động cơ sẽ là một cái gì đó "dưới mui xe", có thể nói như vậy. Nó không, hoặc ít nhất là rất hiếm khi, hiển thị cho người dùng cuối. Ví dụ, một công cụ đồ họa điều khiển tất cả các tính toán kết xuất nhưng chuyển những thay đổi đó sang môi trường thực tế để được mô hình hóa. Đầu vào: toán. Đầu ra: màu sắc đẹp. Một công cụ cũng có thể có các biến làm việc rất khác so với giao diện cấp cao hơn. Ví dụ, trong ví dụ trước, nó đang sử dụng dữ liệu số thô để thao tác đồ họa mà không cần lo lắng về việc một cái gì đó là bóng hay kết cấu, tất cả những điều đó được trừu tượng hóa thành các phương trình và hoạt động ma trận được thực hiện bởi công cụ đó. Hãy nghĩ về Engine như là "Hạt nhân" của một hệ thống nhất định trong khi phần còn lại sẽ giống như "Shell" hơn.
Để sử dụng một thế giới thực, tương tự CS101, một động cơ giống như một động cơ xe hơi. Phải mất hai đầu vào, không khí và khí đốt. Sau đó, chúng chuyển chúng vào một buồng, trong đó điện được sử dụng để tạo ra việc sử dụng hàn hồ quang nhỏ nhất thế giới. Thứ sau đó phát nổ. Điều này tạo ra hai đầu ra, khí thải và sóng áp suất dẫn động pít-tông. Phần còn lại được chuyển thành chuyển động bánh xe bởi các trục truyền động khác nhau và như vậy. Vì vậy, Động cơ là động cơ và chính chiếc xe là vỏ. Bạn có thể sử dụng động cơ xe cho một mục đích khác, giả sử lái máy phát điện hoặc máy nghiền để xay ngũ cốc. Bạn có thể sử dụng các đầu vào khác nhau nếu Động cơ có lớp phủ và như vậy để xử lý những thứ như ethanol hoặc diesel sinh học.
Tóm lại, Engine là một phần mềm thường không được tìm thấy trong sự cô lập. Nó hoạt động như một động lực cho phần mềm đó nhưng thường tương tác rất ít nếu có với thế giới bên ngoài. Một số động cơ có thể làm việc cùng nhau để tạo ra đầu ra miễn phí hoặc có thể được nối với nhau khi cần thiết. Một công cụ không trực tiếp thực hiện những điều liên quan đến trải nghiệm người dùng nhưng lại thúc đẩy những trải nghiệm đó bằng cách thúc đẩy dataflow và đáp ứng đủ để cho phép hiệu năng ứng dụng tốt.
Các định nghĩa của động cơ là
danh từ / ˈenjən /
động cơ, số nhiều
Một cỗ máy có các bộ phận chuyển động chuyển đổi năng lượng thành chuyển động
Một thứ là tác nhân hoặc công cụ của một quá trình cụ thể
# 1 là tương đương ngữ nghĩa theo nghĩa engine
phần mềm rằng nó gây ra điều gì đó xảy ra. Công cụ đồ họa 3D, nhận đầu vào và chuyển đổi thành chuyển động trên màn hình. Một công cụ regex lấy đầu vào và chuyển đổi chúng thành đầu ra khác.
# 2 giống như sử dụng câu một động cơ thay đổi . Ngữ nghĩa này có thể được áp dụng cho phần mềm là tốt.
Phần mềm engines
không chỉ là các khung và thư viện làm thụ động mọi thứ. Các công cụ phần mềm tự hoạt động dựa trên các yếu tố đầu vào, chúng không thụ động và thường có run loop
công cụ xử lý theo ý riêng của chúng.
Câu trả lời gần nhất cho đến nay, theo tôi, là câu trả lời rằng đó là một điều tiếp thị.
Hãy thử nghĩ xem việc sử dụng từ này trong ngữ cảnh này đến từ đâu.
Chắc chắn xe hơi hoặc động cơ phản lực không được gọi theo cách đó bởi vì chúng lấy đầu vào và tạo ra một số đầu ra. Nếu đó là nó, thì không chỉ các chức năng, mà nhiều thứ trong cuộc sống sẽ là động cơ.
Theo tôi, không phải ngẫu nhiên mà một con bò chắc chắn không phải là động cơ, không nói về mặt kỹ thuật và không phải là cách nói lành mạnh.
Động cơ sử dụng nhiều loại năng lượng khác nhau và biến nó thành chuyển động (tức là một loại năng lượng chuyên dụng).
Tại sao chúng ta sử dụng nó trong phần mềm? Tôi muốn nói dự đoán thực tế nhất là vì nó đơn giản nghe có vẻ hay. Tại sao chúng ta gọi một số lập trình viên là 'Kiến trúc sư'? Lý do tương tự, nếu bạn hỏi tôi.
Một lý do khác có thể là các lập trình viên thường thích sử dụng phép ẩn dụ để mô tả các phần của phần mềm của họ, vì vậy họ có thể dễ dàng nắm bắt hơn (vì tự nhiên thường không như vậy).
Linh cảm của tôi là thực tế xấu khi lạm dụng các ẩn dụ theo cách mà miền ứng dụng của bạn chứa đầy chúng. Tôi nghĩ rằng nó có thể hữu ích khi nói chuyện với khách hàng hoặc những người không biết hoặc không quan tâm đến lập trình. Ngoài ra, biểu đồ và sơ đồ đơn giản làm công việc cho tôi.
Công cụ là bất cứ thứ gì có một số đầu vào, xử lý đầu vào đó và cung cấp một cái gì đó làm đầu ra . Theo định nghĩa này, một công cụ CMS là phần tạo ra phản hồi HTTP một cách nhanh chóng dựa trên đầu vào. Một công cụ cơ sở dữ liệu là những gì lấy truy vấn, vẽ một kế hoạch thực hiện và thực hiện nó và trả về kết quả.
Về mặt kỹ thuật, ngay cả một con bò là một loại động cơ. Nó lấy cỏ, xử lý và cung cấp sữa.
Đừng quên rằng thuật ngữ động cơ được sử dụng nhiều hơn trong Kỹ thuật cơ khí và nó hoàn toàn giống nhau.
Một khía cạnh khác của động cơ, là cốt lõi của một hệ thống. Ví dụ, công cụ cơ sở dữ liệu là cốt lõi của bất kỳ RDMS nào. Tuy nhiên, các IDE để kết nối với công cụ đó, trong khi lấy kết quả đầu vào và trả về, không được coi là một công cụ.
IMHO, một công cụ chỉ là một từ khác cho hệ thống con, mô-đun hoặc thư viện. IE - một hoặc nhiều thành phần được thiết kế cố định cho một mục đích cụ thể.
Trong công việc của tôi, thuật ngữ này có nghĩa là "Một tệp mã duy nhất có định dạng XEngine.cs
với nhiều lớp bên trong tệp mã đó, tất cả đều không chứa gì ngoài các phương thức tĩnh". Tôi ném lên một chút bên trong mỗi khi tôi nhìn vào nó; cũng có thể là một mô-đun VB6.
Cá nhân tôi sẽ không sử dụng thuật ngữ này, nó mơ hồ và vô nghĩa (trừ khi, tôi cho rằng, bạn đang viết phần mềm mô phỏng ô tô hoặc có lẽ là một trò chơi đua xe) trong hầu hết các trường hợp; nó giống như các lớp "Người quản lý" cũ - cái tên không cho bạn biết gì ngoài "Điều này có rất nhiều thứ" và thường có nghĩa là nó vi phạm thô bạo SOLID
.