Giao diện - những từ đơn giản như vậy là gì

Giao diện - những gì nó cần, các loại giao diện

Ngày 4 tháng 1 năm 2021.

Xin chào, các độc giả blog thân mến Ktonanovenkogo.ru. Trong thời đại của máy tính hàng loạt, điều quan trọng là phải theo kịp các xu hướng mới nhất và liên tục bổ sung cho khoảng cách về kiến ​​thức.

Điều quan trọng là giao diện tương ứng với các mục tiêu và bối cảnh. Nếu đây là sự tương tác của một chuyên gia với máy tính, thì điều chính là khả năng cung cấp thông tin và đáp ứng các nhiệm vụ. Đối với một người dùng thông thường, nó không chỉ có kỹ thuật, mà còn có giá trị thẩm mỹ: làm việc với nó phải thoải mái và dễ hiểu.

Bạn không muốn gặp phải sự cần thiết phải sụp đổ? Hôm nay chúng tôi xem xét một thuật ngữ khác liên quan đến PC.

Tôi sẽ cố gắng giải thích một thứ như một giao diện: đó là gì và tại sao là cần thiết. Vì vậy, hãy bắt đầu.

Giao diện là ...

Giống như tất cả các cụm từ kiểu mới, từ "giao diện" đã đến với chúng tôi từ ngôn ngữ tiếng Anh. Giao diện dịch cho biết Nơi tiếp xúc "

Giao diện là một tập hợp các công cụ cho phép người dùng tương tác với hệ điều hành của máy tính, thiết bị di động hoặc các loại thiết bị khác.

Giao diện là ...

Như những công cụ như vậy Tương tác có thể hành động:

  1. Trường văn bản;
  2. các nút và ve;
  3. danh sách thả xuống;
  4. Mẹo bật lên;
  5. Chuyển đổi;
  6. Các yếu tố của menu của chương trình hoặc trang web;
  7. và nhiều hơn nữa.

Để rõ ràng hơn loại trái cây này là giao diện này, hãy xem xét một ví dụ trực quan. Giả sử bạn quyết định đi vào các ngày lễ ở các cạnh xa và đặt trước một khách sạn qua Internet.

Hãy đến trên trang web, và bạn mong đợi một số giao diện: tìm kiếm, hiển thị kết quả, nhập dữ liệu cá nhân, thanh toán. Trong mỗi giai đoạn tương tác với trang web đặt phòng khách sạn, người dùng hoạt động với dữ liệu và thực hiện các hành động nhất định.

Tại sao tôi cần một giao diện? Mọi thứ đều đơn giản, nhiều hơn bao giờ hết: thuận tiện để sử dụng chương trình, trang web và sản phẩm khác, người dùng hạnh phúc hơn.

Giao diện thân thiện cũng cho phép bạn tăng doanh số trên các trang web thương mại, vì khách truy cập không đóng tab trong những giây đầu tiên sử dụng trang web.

Các trang web có thiết kế tốt phổ biến hơn đối với người dùng, đã truy cập nhiều hơn và do đó, mang lại thu nhập tốt nhất cho chủ sở hữu của họ.

Các loại giao diện.

Giao diện là thông lệ để chia nhỏ các loại sau:

  1. Dòng lệnh . Đây là cách lâu đời nhất và tốn thời gian nhất để tương tác giữa người dùng và máy tính cá nhân. Đồng thời, dòng lệnh vẫn là loại giao diện đáng tin cậy nhất.
    Đối với người dùng, giao diện là nền tảng của việc làm việc với PC hoặc điện thoại. Từ cách đơn giản hoặc phức tạp hệ thống này, sự tiện lợi của việc kiểm soát thiết bị sẽ phụ thuộc vào. Các nhà phát triển có thể thay đổi cấu trúc hệ thống cho các nhiệm vụ phức tạp. Người dùng thiếu kinh nghiệm, tốt hơn là mua các thiết bị có giao diện rõ ràng để tạo điều kiện thuận lợi cho công việc của họ.

    Giao tiếp với máy xảy ra trong ngôn ngữ của nó. Dòng lệnh được sử dụng trong các hệ điều hành dành cho người dùng chuyên nghiệp: ví dụ: trong BIOS.

  2. Giao diện đồ họa. . Đây chính xác là những gì có nghĩa là ngày hôm nay dưới từ "giao diện". Nó được áp dụng trong tất cả các hệ điều hành, chương trình, trang web.
    Điện thoại thông minh

    Với giao diện đồ họa, hoàn toàn tất cả người dùng PC đều phải đối mặt. Để tương tác thuận tiện hơn, nên sử dụng chuột máy tính.

  3. Dấu hiệu giao diện . Sự phát triển nhanh chóng của các công nghệ đã trở thành một trong những lý do cho sự xuất hiện của giao diện cử chỉ. Điều này bao gồm màn hình cảm giác, cần điều khiển, bút stylus và các yếu tố khác.
  4. Giao diện giọng nói . Nói cụm từ "OK, Google" và sau đó phát âm truy vấn tìm kiếm, bạn tương tác với giao diện giọng nói của hệ điều hành điện thoại thông minh hoặc máy tính bảng.
    Giao diện dòng lệnh

    Kiểu này cũng xuất hiện gần đây nhờ sự phát triển nhanh chóng của các công nghệ.

    Nhưng ngày nay, nó có sự phổ biến đáng kể, vì nó cho phép bạn giải quyết một số nhiệm vụ quan trọng và quản lý thiết bị (nó là gì?) - thiết bị di động, xe hơi, thiết bị gia dụng, máy tính - với các lệnh thoại.

Giao diện phải là gì

Nhiệm vụ chính của bất kỳ giao diện nào - Dễ dàng sử dụng. Chương trình cụ thể, trang web hoặc sản phẩm tương tự.

Ví dụ: khi phát triển cổng thông tin web nên làm Tập trung vào các yếu tố sau :

  1. Số lượng tối ưu của các yếu tố được hiển thị;
  2. khả năng thích ứng với các thiết bị máy tính để bàn và thiết bị di động;
  3. sự hiện diện của các nút của các mạng xã hội phổ biến;
  4. biểu tượng kích thước tối ưu và các nút;
  5. hình thức đăng ký thuận tiện;
  6. Vị trí trực quan của các mục menu;
  7. sự hiện diện của màu sắc hoặc các điểm nhấn thông tin;
  8. hệ thống tìm kiếm trên trang web;
  9. Nếu cần thiết, sự sẵn có của dữ liệu liên hệ.

Một ví dụ sáng về giao diện được cân nhắc tốt là Ktonanovenkogo.ru. Trên trang web, một giải pháp màu sắc tốt, một menu trực quan, sự hiện diện của tìm kiếm nội bộ, hiển thị các bài viết theo ngày xuất bản, giúp việc sử dụng tài nguyên nhanh chóng và thú vị.

Đó là tất cả, những người bạn thân mến. Bây giờ bạn biết rằng giao diện là, chỉ cần nói, trình bao ngoài của các chương trình hoặc trang web, giúp sử dụng chúng dễ dàng hơn.

Tôi hy vọng rằng sau khi đọc bài viết, bạn sẽ không còn câu hỏi nào nữa. Trong mọi trường hợp, cho phép bạn mời bạn đến Nhận xét để giảm bớt chủ đề này với các độc giả blog khác Ktonanovenkogo.ru.

Và để củng cố kiến ​​thức, tôi khuyên bạn nên xem video về giao diện mới cho Android từ Samsung:

Chúc bạn may mắn! Nhìn thấy các cuộc họp nhanh trên các trang của Ktonanovenkogo.ru

Hầu hết các giao diện hiện đại được thiết kế cho người dùng có kinh nghiệm. Những con sếu cũng không trở thành ngay lập tức cho tất cả quen thuộc. Trước đây, các cạnh của công tắc chắc chắn được dán nhãn màu đỏ và màu xanh - để rõ ràng nơi trời lạnh, và nơi nước nóng. Bây giờ chúng ta đã quen, và ngày càng nhiều cần cẩu được giải phóng mà không cần dán nhãn. Có lẽ, cuối cùng họ đã nhớ về phía nào chảy.

Với giao diện web, nó giống nhau. Vào đầu số 0, có một Skiorpham - đồ họa bắt chước các vật thể trong thế giới thực. Nếu trang web là nút, nó trông giống như một nút thể tích thực sự. Đó là điều dễ hiểu với hầu hết những người đã mua máy tính đầu tiên của họ.

Nhưng khoảnh khắc đến khi người dùng mới trở nên ít hơn. Bất cứ ai muốn bắt đầu sử dụng máy tính và Internet đã được thành thạo công nghệ. Và sự cần thiết của các giao diện thực tế dần biến mất.

Bây giờ, thay vì biểu tượng "Menu" chi tiết, cái gọi là Burger thường được sử dụng với chữ ký - ba dải ngang. Và chúng tôi biết hoàn toàn tốt những gì họ có ý nghĩa. Chúng tôi cũng biết rằng các trang web thường đọc từ trên xuống dưới. Và không cần bất kỳ mũi tên để giải thích. Giao diện hiện đại được thiết kế cho người dùng có kinh nghiệm và súc tích hơn.

Chương trình

Giao diện có thể được coi là một loại hợp đồng giữa hệ thống và môi trường bên ngoài. Là một phần của chương trình máy tính, hệ thống là chức năng hoặc mô-đun và "Môi trường" là phần còn lại của dự án. Giao diện chính thức mô tả dữ liệu nào có thể được truyền giữa hệ thống và môi trường. Và "triển khai" có thể được mô tả là "hệ thống giao diện trừ". Trong các ngôn ngữ như các giao diện HASKELL có thể cực kỳ cụ thể. Và bằng các ngôn ngữ như Python, họ, ngược lại, rất bình thường. Loại giao diện đã chọn có thể ảnh hưởng đến kích thước của nợ kỹ thuật đã tạo và hiệu suất của lập trình viên. Làm thế nào để tính toán nó được viết dưới đây. Một phương thức cũng sẽ được đề xuất để đánh giá và so sánh các giao diện khác nhau. Dựa trên những so sánh này, bạn có thể xem mình để sử dụng công cụ ngôn ngữ hoặc phần mềm.

Khái niệm quan trọng nhất trong sự phát triển của phần mềm - khái niệm

Giao diện

. Bài viết này không phải là về các giao diện Java, mà về các giao diện trong thiết kế phần mềm. Và đến một mức độ thấp hơn - trên các giao diện trong thế giới xung quanh. Tất nhiên, rất nhiều khái niệm quan trọng khác được sử dụng trong sự phát triển của phần mềm, nhưng tôi tin rằng hầu hết trong số họ đều đồng thuộc về tầm quan trọng của giao diện.

Giao diện là gì?

Hầu hết chúng ta đều quen thuộc với hai công thức ngắn gọn:

Giao diện là hợp đồng giữa hệ thống và môi trường bên ngoài. Giao diện là một hệ thống ghép nối với môi trường bên ngoài.

Giao diện = Hệ thống ∩ môi trường xung quanh

Định nghĩa với cặp là phù hợp, nếu hệ thống là một đối tượng vật lý. Cả hai định nghĩa đều rất trừu tượng, vì vậy hãy xem xét chúng trong ví dụ in trên bàn phím:

Ở đây hệ thống là một máy tính xách tay, môi trường - tay (cũng như bàn chân của con mèo, leo trên bàn phím). Do đó, giao diện phải là bất kỳ phần nào của sự tương tác giữa tay và máy tính xách tay, chỉ không thể được quy cho một số bên, nhưng chỉ với cả hai. Thông thường chúng ta nghĩ về bàn tay và bàn phím là riêng biệt, để ranh giới chính xác của giao diện trong trường hợp này là chủ đề của tranh chấp triết học. Bạn quyết định: Cho dù đó là bàn phím như một nguyên tử toàn bộ hoặc riêng lẻ tương tác với nhau khi các ngón tay và phím tiếp xúc.

Có lẽ, bạn sẽ ngạc nhiên về cách ví dụ này tương quan với định nghĩa của giao diện như một hợp đồng. Trong trường hợp này, thỏa thuận có nghĩa là một thỏa thuận rằng tại thời điểm chúng tôi dành đủ nỗ lực khi họ nhớ vị trí của các phím và bộ nhớ cơ đã được làm lại. Một số sắc thái được liên kết với hiệp ước. Ví dụ: nhấn và giữ phím có một giá trị khác so với nhấn một lần đơn giản.

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

:

add_numbers. 

Unignted int, không dấu int); void other (void) {add_numbers (3.4);} unsign int add_numbers (unsign int a, unsign int b) {return a + b;} int Main (void) {add_numbers (9,99); Trả về 0;}

Áp dụng kỹ thuật phân biệt màu sắc giống nhau

Quân dai

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Để mô tả môi trường, hệ thống

và giao diện:

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Hệ thống đang xem xét ở đây bao gồm một chức năng

. Nếu bạn nói rằng bạn có thể xem xét như một phương thức chính của hệ thống riêng biệt -

Khác_fination.

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

- Sau đó, bạn sẽ đúng. Nhưng để đơn giản, chúng tôi xem xét một chức năng

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

.

Hệ thống cách ly. Nó cũng được khuyến khích để xem xét một phần của giao diện chuyển đổi thành

Như bạn có thể thấy, khái niệm thứ tư được thêm vào đây: "triển khai". Thật khó để thảo luận về chủ đề giao diện mà không tính đến các triển khai cụ thể. Hãy xác định thuật ngữ này: Triển khai là một hệ thống giao diện trừ. Triển khai = HỆ THỐNG ∖ Giao diện

Triển khai = hệ thống ∖ (hệ thống môi trường)

Tôi phải thừa nhận rằng tôi không bao giờ có định nghĩa thực hiện như vậy trước đây. Nhưng đây là một phần mở rộng không thể tránh khỏi của một tập hợp các định nghĩa giao diện có một số lợi thế. Nếu bạn là một sinh viên nghèo và chuẩn bị cho kỳ thi, thì có lẽ giáo viên của bạn chưa bao giờ nghe nói về định nghĩa này. Tôi sẽ không ngạc nhiên nếu nó sẽ mâu thuẫn bất kỳ phân loại nào về lập trình hướng đối tượng. Nhưng ngay cả trong trường hợp này, tôi sẽ không thay đổi nó. Hãy để người hâm mộ của OOP viết lại tóm tắt của họ theo định nghĩa của tôi.

Đến lượt nó, dẫn chúng ta đến kết luận logic tiếp theo: Khi chúng ta nói về các giao diện của hệ thống vật lý, chúng ta thường tưởng tượng "triển khai" của hệ thống này dưới dạng một đối tượng vật lý duy nhất. Rốt cuộc, sẽ rất lạ khi xem xét việc triển khai thực tế của người Viking mà không tính đến các nút tài khoản, hiển thị hoặc các thành phần khác. Và nó đẩy chúng tôi để xem xét giao diện nhiều hơn là một "thỏa thuận", và không phải là sự kết hợp của các đối tượng vật lý. Đó là, dưới dạng một tập hợp những lời hứa, đảm bảo hoặc một cái gì đó như ...

.

hợp đồng giữa hệ thống và môi trường

Giao diện như hợp đồng.

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Nếu bạn xem xét giao diện chức năng

  • Trong hình thức hợp đồng, sau đó các bảo lãnh sẽ như vậy: Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện Chức năng
  • Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện tồn tại. Nó chỉ có hai tham số, mỗi tham số không dấu .
  • Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện int. Nó chỉ có hai tham số, mỗi tham số không dấu .

Chỉ trả về một không dấu

  • Giao diện của chức năng này không cho chúng ta biết bất cứ điều gì: Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện ;
  • Về gián đoạn thực hiện Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện ;
  • về sự phức tạp không có triệu chứng của bảng xếp hạng Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện ;
  • Về số lượng bộ nhớ miễn phí cần thiết để bắt đầu Nó chỉ có hai tham số, mỗi tham số không dấu ;
  • Về việc thực hiện cụ thể của không dấu

Về tác dụng phụ (phân bổ bộ nhớ, sửa đổi các biến toàn cục).

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Giao diện được mô tả ở trên

được biết đến dưới loại chức năng

Nguyên mẫu.

. Trong các phiên bản trước của K & R C, một hình thức mô tả yếu hơn của các giao diện đã được sử dụng:

unsign int add_numbers ();

Định nghĩa giao diện như một hợp đồng rất thuận tiện cho lập trình. Rốt cuộc, hầu hết các nhiệm vụ lập trình viên bao gồm xác định và yêu cầu các bộ tiên đề. Điều kiện chính và cuối cùng cung cấp một số tài sản hoặc hành vi. Trước hai bên buộc mối quan hệ kinh doanh với nhau, họ chuẩn bị hợp đồng. Nó xây dựng kết quả cuối cùng, số lượng và dòng thời gian thanh toán. Nó cũng quy định các điều kiện để chấm dứt sớm, bồi hoàn và chi phí. Nếu hợp đồng bị vi phạm, tình hình chuyển đổi tòa án hoặc trọng tài. Nhưng nếu bạn quên một cái gì đó để chỉ định trong hợp đồng, thì những bất ngờ có thể phát sinh.

Với các chương trình máy tính giống nhau. Các mô-đun và chức năng nói rằng họ cần và (đôi khi) những gì họ sẽ được đưa ra để trả lại. Việc vi phạm hợp đồng này sẽ dẫn đến lỗi biên dịch, lỗi thực thi, về sự thất bại của ứng dụng, hệ thống, công cụ kiểm soát chất lượng và sự lãnh đạo của hướng dẫn sử dụng. Tôi thậm chí sẽ nói rằng định nghĩa của giao diện như một hợp đồng không phải là ẩn dụ. Dưới đây là những nguyên tắc tương tự như trong hợp đồng thương mại, mặc dù nó không quá chi tiết.

Bằng sáng chế, bản quyền và giao diện

Tôi sẽ không cho bạn lời khuyên trong lĩnh vực pháp luật. Có lẽ một cái gì đó từ tôi nói thậm chí sẽ mâu thuẫn với luật pháp. Tất cả những điều sau đây là ý kiến ​​riêng của tác giả.

Vì vậy, tôi nghiêng

nghĩa đen

Xem xét giao diện như một "hợp đồng thương mại" giữa hai thực thể. Tôi nhấn mạnh - tôi không coi đó là một phép ẩn dụ. Tôi đặc biệt giải quyết giải thích này bởi các chuyên gia trong lý thuyết về máy tính và người biểu tình bản quyền.

Có nên bằng sáng chế giao diện? Đưa ra định nghĩa của mình như một hợp đồng giữa hệ thống và môi trường, tôi tin rằng việc sử dụng bằng sáng chế sẽ là một sai lầm. Và, rõ ràng, luật trường hợp hiện tại hỗ trợ vị trí của tôi. Nhưng hãy nhớ rằng từ "giao diện" được sử dụng rất rộng rãi và thường xuyên theo nghĩa, như tôi đã mô tả ở trên.

Tôi có nên bảo vệ giao diện bằng bản quyền? Một lần nữa, với bản chất "hợp đồng", tôi tin rằng "mã nguồn" của giao diện phải là đối tượng của bản quyền. Đồng thời, bản quyền không nên được áp dụng cho các khía cạnh của các giao diện làm cho chúng đặc biệt. Nó là đủ để bảo vệ mã nguồn hoặc một hình ảnh viết tay, nhưng không bảo hành hoặc hạn chế. Nếu các hạn chế bảo hành hoặc giao diện trở nên không thể tách rời khỏi bất kỳ phần nào trong mã của nó, nên các bộ phận này sẽ bị tước quyền bảo vệ.

Tôi đề xuất một bài kiểm tra đơn giản cho phép bạn đánh giá cao liệu cần phải bảo vệ với bản quyền hay không.

Nếu bạn muốn bảo vệ một số loại thuộc tính, bao gồm bất kỳ thành phần nào từ bên thứ ba, theo bất kỳ cách nào được sử dụng bởi giao diện, bạn luôn có thể tạo một sự thay thế phù hợp. Thay thế thực hiện cùng một giao diện và được sử dụng thành công trong phần mềm từ bên thứ ba, không có bất kỳ sửa đổi nào về chính phần mềm này, cũng như không vi phạm bất kỳ bản quyền nào. Nếu bất kỳ sự thay thế nào sẽ dẫn đến vi phạm bản quyền, hoặc ngụ ý sửa đổi phần mềm từ bên thứ ba, hoặc chức năng xấu đi, thì bộ thuộc tính quá tích cực và phải được giảm.

Tôi tin rằng với sự giúp đỡ của bài kiểm tra này, nên kiểm tra ngay cả khi được cấp bằng sáng chế. Xin lưu ý: Mục đích của bài kiểm tra là xác định cực kỳ

InAppolition.

bảo vệ bản quyền hoặc bằng sáng chế. Anh ta sẽ không giúp giải quyết điều đó

theo

Bật bảo vệ. Ngoài ra, bài kiểm tra này chỉ là ý kiến ​​của tôi, và không phải là một hành động hoặc pháp luật về quy định.

Tôi cũng muốn lưu ý rằng bất kỳ tiêu chí nào được coi là một phần của giao diện trong cùng một ngôn ngữ có thể không phải là bằng ngôn ngữ khác. Ví dụ: trong Java, quy trình khai báo chức năng không ảnh hưởng đến việc thực thi chương trình. Và nếu bạn vô tình nói rằng thứ tự các hàm trong tệp không quan trọng, nó sẽ là một lỗi liên quan đến chương trình trên Python: 

Def foo (): In ("ASDF") Def Foo (ABC): In (ABC) Foo ("LOL")

Tất cả những cuộc trò chuyện về luật pháp nhắc nhở tôi về

Oracle chống lại Google.

. Theo liên kết đã cho, bạn có thể tìm thấy các chi tiết thú vị cho các nhà phát triển, vì vậy tôi sẽ dựa vào chúng trong phân tích của mình. Với tất cả các khía cạnh, tôi không thấy lý do để không đồng ý với quyết định của vụ án có lợi cho Oracle. Tôi không thể nói rằng họ hỗ trợ vô điều kiện, vì chúng tôi không có sẵn không quá nhiều phần của thủ tục tố tụng.

Tôi nghĩ rằng nhiều người lo lắng rằng một tiền lệ sẽ được tạo ra, cho phép các yếu tố của giao diện để bảo vệ bằng sáng chế hoặc bản quyền. Chỉ là trường hợp mà bài kiểm tra của tôi sẽ không được thông qua. Tòa án quận đã đưa ra quyết định: "Cấu trúc, trình tự và kiến ​​trúc của API có thể được bảo vệ bởi bản quyền." Tôi không nghĩ rằng đây là một vấn đề, bởi vì cấu trúc, trình tự và kiến ​​trúc của người Viking trong định nghĩa của nó sẽ hoàn toàn trải qua bài kiểm tra của tôi. Tôi sẽ đưa ra một vài đoạn trích từ bài viết về liên kết ở trên:

"Tòa án quận kết luận rằng" chỉ có một cách viết quảng cáo "để tương tác với Java. Nếu vậy, việc sử dụng cùng một quảng cáo không phải là bản quyền. Google không tranh chấp thực tế rằng họ có thể viết API của riêng họ để truy cập Java, ngoại trừ ba. " Cuối cùng, "trong Google nhận ra rằng họ thực sự sao chép quảng cáo."

Tôi nghĩ rằng tòa án đã chấp nhận quyết định đúng đắn, kết luận rằng các thuộc tính duy nhất của giao diện không nên được bảo vệ. Ngoài ra, Google đã nhận ra sao chép "nghĩa đen". Nếu điều này có nghĩa là copypasting, bao gồm tất cả các khoảng trống và lỗi chính tả trong các ý kiến, sau đó tôi coi đó là vi phạm quyền lợi. Ngay cả khi giao diện không thể được bảo vệ, nó không nên can thiệp vào việc bảo vệ biểu thức sáng tạo riêng lẻ.

Tôi biết về sự kiện tụng này chỉ từ các nguồn mạng mở, nhưng, rõ ràng, mã Java gốc đã sao chép hoàn toàn vào Google, bao gồm cả giao diện. Có vẻ như chính họ tin rằng cần phải cấp phép sử dụng Java, vì đó là chủ đề của các cuộc đàm phán về các thỏa thuận cấp phép với Sun trước năm 2010. Nhưng những thỏa thuận này đã thất bại sau khi Sun đã được Oracle mua. Tuy nhiên, Google tiếp tục sử dụng các bản sao "theo nghĩa đen" của mã, rõ ràng đã không đến Lợi ích của cô tại phiên tòa. Tôi nghi ngờ rằng luật sư của họ biết về điểm yếu của vị trí của họ, vì vậy họ đã chọn chiến lược bảo vệ dựa trên nhu cầu hợp pháp đối với việc không tăng cường bản quyền đối với các giao diện. Họ hy vọng sẽ giành được vụ án với chi phí đại diện của giao diện dưới dạng mã nguồn và liên kết của nó với một khái niệm triết học hơn.

"Mô-đun" là gì, hay "trừu tượng"?

Với từ "mô-đun" trong đầu tôi có một hình ảnh vốn của bài viết. Hình minh họa này cũng thể hiện tầm quan trọng của ranh giới của mô-đun và sự tương tác của nó với môi trường. Giao diện Cube cứng khớp với sự tương tác của môi trường bên ngoài với nội dung của khối lập phương. Bạn sẽ không thể bỏ qua giao diện, vì vậy bạn phải giữ nguyên tắc "của trò chơi" đối với nó. Cuối cùng, không có gì bên trong khối lập phương, nhưng nó không thành vấn đề: điều quan trọng là không phải là nội dung của nó, mà là một giao diện.

Một ví dụ khác: Cấu trúc của màng tế bào. Các thành phần khác nhau chỉ cung cấp các chất cần thiết thông qua màng và chỉ khi cần thiết.

Trong bối cảnh của bài viết này, tôi sẽ sử dụng các điều khoản "mô-đun" và "trừu tượng" dưới dạng từ đồng nghĩa. Tất nhiên, từ điển giải thích sẽ không đồng ý với tôi và ngay cả trong các ngôn ngữ lập trình khác nhau, các thuật ngữ này có một ý nghĩa khác nhau. Nhưng trong trường hợp này, tôi chỉ quan tâm đến thực tế rằng cả hai thực thể này đều có thể được xem như một hệ thống vì nó được hiểu trong bài viết này. Đó là, trừu tượng và mô-đun có thể bao gồm một giao diện và triển khai.

Bạn có thể đọc một chức năng riêng biệt của mô-đun trong C, "mô-đun" - trong Python, Class hoặc Gói - trong Java. Một cái gì đó, nếu chỉ có một giao diện bên ngoài và thực hiện "ẩn". Hơn nữa, có thể có một hậu quả của các quy tắc của ngôn ngữ hoặc thậm chí là một quyết định của lập trình viên.

Sấy trừu tượng

Theo như tôi biết, ý tưởng

Trừu tượng dumby đưa ra joel spolski

. Trong bài luận của mình Có một số ví dụ tốt, nhưng tôi muốn mang theo của riêng tôi. Trong lập trình, khái niệm "Bản đồ" rất thường gặp: biểu thị cấu trúc dữ liệu bao gồm các cặp khóa và giá trị. Giới hạn quan trọng: Thẻ đảm bảo rằng tất cả các khóa phải là duy nhất. Một nỗ lực để ghi lại một giá trị mới cho một khóa hiện có sẽ dẫn đến lỗi hoặc ghi đè lên giá trị trước đó. Điểm mấu chốt là các phím không nên được nhân đôi. Thông thường, các lập trình viên yêu cầu một mong muốn sắp xếp tất cả các phím này. Và vì các bản đồ không thể đảm bảo một thứ tự sắp xếp nhất định của các phím, đôi khi cần thiết để tự hỏi theo thứ tự nào họ sẽ sau khi bị nhộn nhịp? Đây là hậu quả của thực tế là giao diện thẻ không cho phép sắp xếp đảm bảo. Và mặc dù người ta tin rằng nó không quan trọng, nhưng trong thực tế, tôi vẫn muốn sắp xếp. Vì vậy, cần thiết cho một tổ chức dữ liệu hiệu quả hơn, ví dụ, để tạo điều kiện để xác minh các khóa hiện có.

Sắp xếp dữ liệu lực lượng vũ phu có thể đưa ra một kết quả hoàn toàn khác so với dữ liệu ngẫu nhiên áp đảo. Giả sử bạn cần tìm giá trị tối thiểu trong danh sách: 

min = null; list = map.getmapkeys (); for (mục trong danh sách) {if (min == null) {min = mục} khác nếu (mục <min) {min = min; / * Dòng này có lỗi * /}}

Chi nhánh

Khác nếu.

Nó sẽ không bao giờ được thực thi nếu dữ liệu được sắp xếp tăng dần. Ngay cả khi bạn bắt đầu kiểm tra từ một vị trí ngẫu nhiên của danh sách, chương trình sẽ không bao giờ va chạm với chuỗi này. Và đây là một vấn đề lớn, vì nếu bạn thay đổi việc triển khai thẻ và nó sẽ không trả về các khóa được sắp xếp, thì mã của bạn sẽ đột nhiên được thực hiện trên một lỗi lỗi. Và đến lúc bạn hoàn toàn quên đi mã này và quả bom ẩn bên trong nó.

Tôi muốn cung cấp định nghĩa của riêng tôi về rò rỉ trừu tượng.

Sự rò rỉ trừu tượng (rò rỉ trừu tượng) được gọi là tình huống khi triển khai có thể ảnh hưởng đến môi trường vì nó không được giao diện.

Theo định nghĩa này,

Gần như cứ sau

Trừu tượng - thở. Rốt cuộc, mô tả trong giao diện của tất cả các loại tác động môi trường chỉ có ý nghĩa trong các hệ thống toán học nghiêm ngặt nhất. Và đối với các hệ thống vật lý, sau đó bạn có thể được nhớ

.

Định lý gödel về sự không hoàn hảo

Ý tưởng về những lỗ hổng của hầu hết các tác phẩm trừu tượng không phải là không hợp lý. Điều này có nghĩa là Joel Spolski trong "luật tóm tắt rò rỉ" của mình:

"Tất cả các tác phẩm trừu tượng không tầm thường là một sự tàn nhẫn đến một mức độ nhất định."

Một khi tất cả các tác phẩm trừu tượng đang nghiêng, những gì để nói về? Các vấn đề chỉ phát sinh khi một phần của môi trường bắt đầu dựa vào một trong những cách tiếp xúc không lường trước được với hệ thống. Đó là về những rò rỉ như vậy mà mọi người nói.

Điều này dẫn đến hậu quả sâu rộng, không chỉ từ quan điểm của các lỗi thông thường, mà còn trong lĩnh vực bảo mật. Với các hệ thống vật lý trong đó có rò rỉ vào môi trường bên ngoài, ảnh hưởng đến an ninh, thuật ngữ "

Kênh tấn công

" Kết hợp với một tuyên bố rằng tất cả trừu tượng của các lỗ, nó dẫn chúng ta đến kết luận:

Mỗi triển khai vật lý của hệ thống mật mã dễ bị tấn công của bên thứ ba.

Với tất cả những điều trên, ý tưởng này có thể được mở rộng không chỉ để vật lý, mà còn về triển khai mô phỏng.

Đánh giá và so sánh các giao diện

Như chúng ta đã thấy ở trên, trong các giao diện trên C được các bộ như loại giá trị trả về và số lượng tham số có thể được truyền. Còn Python thì sao? Tôi sử dụng thuật ngữ "giao diện" theo ngữ cảnh của bài viết, nghĩa là theo nghĩa rộng hơn so với những gì họ viết trong sách về "giao diện" trong Python. 

Def add_numbers (A, B): Trả về bản in A + bprint (add_numbers (3,1)) (add_numbers ("abc", "def"))

Trong ngôn ngữ này, chúng ta cần chính thức hóa các loại giao diện chức năng. Nó đơn giản hóa chức năng định nghĩa và cuộc gọi, vì cần phải xử lý thông tin ít hơn. Mặt khác, các hạn chế mà bạn có thể thực hiện kiểm tra tìm kiếm lỗi ít hơn.

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Tôi nghĩ rằng bạn cần một cái gì đó để nói về đánh giá và so sánh các đặc điểm khác nhau của giao diện từ quan điểm của phương thức truyền thông tin. Bạn có thể đánh giá cả một giao diện cụ thể và một tập hợp tất cả các giao diện có thể được triển khai bằng ngôn ngữ này. Hãy nhớ ví dụ của chúng tôi với

Và chúng tôi ước tính số lượng thông tin chúng ta có thể đi qua giao diện và bỏ qua nó, với sự trợ giúp của rò rỉ trừu tượng. Thông qua giao diện
Bằng cách đi xung quanh giao diện Mô tả đặc điểm Bằng cách đi xung quanh giao diện Mô tả đặc điểm
Số lượng quốc gia có thể Loại tham số 1. 1 (không dấu int) Trạng thái của biến toàn cầu
(Số lượng biến toàn cục) * (Số lượng trạng thái của các biến toàn cục) Loại tham số 1. Loại tham số 2. Hệ thống tập tin
Số trạng thái hệ thống nhà nước Loại tham số 1. Loại giá trị trả về Bộ xử lý sử dụng thời gian
Không giới hạn Giá trị tham số 1. 2 ^ (Đếm trong INTEGNED Int) Tiểu bang Kuchi.
Số lượng tiểu bang. Giá trị tham số 1. Tham số giá trị 2. Rất nhiều người khác ...
... Giá trị tham số 1.

Trả về giá trị

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Và có một số thứ có thể giao tiếp với

thông qua giao diện Python. Truyền thông tin qua giao diện Python
Bằng cách đi xung quanh giao diện Mô tả đặc điểm Bằng cách đi xung quanh giao diện Mô tả đặc điểm
Số lượng quốc gia có thể Chuyển thông tin bỏ qua giao diện Python 1 (không dấu int) Hệ thống tập tin
(Số lượng biến toàn cục) * (Số lượng trạng thái của các biến toàn cục) Chuyển thông tin bỏ qua giao diện Python Loại tham số 2. Bộ xử lý sử dụng thời gian
Số trạng thái hệ thống nhà nước Chuyển thông tin bỏ qua giao diện Python Loại giá trị trả về Tiểu bang Kuchi.
Không giới hạn Chuyển thông tin bỏ qua giao diện Python 2 ^ (Đếm trong INTEGNED Int) Rất nhiều người khác ...
Số lượng tiểu bang. Chuyển thông tin bỏ qua giao diện Python Tham số giá trị 2. Trạng thái của biến toàn cầu
... Chuyển thông tin bỏ qua giao diện Python

Thực tế vô hạn

Và bây giờ hãy xem số loại giao diện mà chúng ta có thể mô tả trong Haskell: 

Add_numbers :: int> int -> intadd_numbers 3 4 = 7main = in (add_numbers 3 4)

Tất cả những điều này là lý luận triết học tò mò, nhưng làm thế nào để họ liên quan đến việc viết phần mềm? Chà, hãy bắt đầu với thực tế là các giao diện trong lập trình bao quanh bạn từ mọi phía, ngay cả khi bạn không chú ý đến nó. Ví dụ: nếu bạn đang lập trình trên Java, thì hãy đặt tên rõ ràng các giao diện tùy thuộc vào mục đích của họ. Và bằng các ngôn ngữ khác, chúng cũng có mặt. Hãy xem xét một ví dụ về chức năng giao diện

Đưa ra mã này, giao diện

Có thể nhận được thông tin sau: Chuyển thông tin qua giao diện HASKELL
Bằng cách đi xung quanh giao diện Mô tả đặc điểm Bằng cách đi xung quanh giao diện Mô tả đặc điểm
Số lượng quốc gia có thể Truyền thông tin bằng cách của giao diện Haskell Loại giá trị trả về Bộ xử lý sử dụng thời gian
(Số lượng biến toàn cục) * (Số lượng trạng thái của các biến toàn cục) Truyền thông tin bằng cách của giao diện Haskell 1 (int) Bộ xử lý sử dụng thời gian
Số trạng thái hệ thống nhà nước Truyền thông tin bằng cách của giao diện Haskell Ảnh hưởng đến bộ xử lý / bộ nhớ cache Rất nhiều người khác ...
Không giới hạn Khác ...
Số lượng tiểu bang. 1 (giá trị 3)
... 1 (giá trị 4)

Ít nhất 2 ^ 30 [1]

  • Đối với một giao diện cụ thể trong ngôn ngữ bạn đã chọn, bạn cũng có thể đánh giá số cách duy nhất để chuyển thông tin:
  • thông qua giao diện;

Bằng cách đi xung quanh giao diện thông qua rò rỉ trừu tượng.

  • Bạn cũng có thể chú ý đến những điều sau đây:
  • Có bao nhiêu hạn chế bạn có thể sử dụng trong ngôn ngữ này từ quan điểm của số lượng thông tin tối thiểu và tối đa được truyền qua giao diện;

Những gì các công cụ cung cấp ngôn ngữ này để ngăn chặn sự tương tác với giao diện bỏ qua.

Chương trình
Hãy để chúng tôi phân tích theo cách này Giao diện người dùng đồ họa trong đó có thể thay đổi các thư mục: Truyền thông tin qua GUI
Bằng cách đi xung quanh giao diện Mô tả đặc điểm Bằng cách đi xung quanh giao diện Mô tả đặc điểm
Chuyển thông tin bỏ qua GUI Bấm vào thư mục 1 Số pixel trên màn hình được giữ bởi thư mục 1 * Số lần nhấp Bộ xử lý sử dụng thời gian
Khả năng ẩn giấu UI. Nhấp vào Thư mục 2 Số pixel trên màn hình được giữ bởi thư mục 2 * Số lần nhấp Kết hợp cuộc gọi nhanh không chuẩn
Số pixel trên màn hình bị chiếm bởi nút 2 Hướng dẫn con trỏ đến thư mục 1 Số pixel trên màn hình được giữ bởi thư mục 1 Rất nhiều người khác ...
Khả năng UI bất ngờ khác Hướng dẫn con trỏ đến thư mục 2
Số pixel trên màn hình được giữ bởi thư mục 2 Thời gian giữa hướng dẫn và nhấp
Vô hạn. Sự kiện bàn phím tiêu chuẩn
Số lượng kết hợp khóa tiêu chuẩn Khu vực màn hình bị chiếm bởi GUI

Số pixel được sử dụng để hiển thị GUI

Và bây giờ hãy xem xét cùng một nhiệm vụ thay đổi thư mục bằng dòng lệnh và

:

Hãy để chúng tôi phân tích theo cách này Giao diện người dùng đồ họa trong đó có thể thay đổi các thư mục: Truyền thông tin qua GUI
Bằng cách đi xung quanh giao diện Mô tả đặc điểm Bằng cách đi xung quanh giao diện Mô tả đặc điểm
CD Bộ xử lý sử dụng thời gian Số lượng tên thư mục mà bạn có thể quay số Bộ xử lý sử dụng thời gian

Môi trường biến đổi

Trong hai bảng trước, tôi không bao gồm dữ liệu như số tiếng ồn trong tín hiệu. Nếu bạn so sánh sự phức tạp của sự lặp lại của cùng một trình tự khi bạn nhấn các phím (lần này đến lần khác) và chuyển động chuột (pixel đằng sau pixel), rõ ràng là trong trường hợp thứ hai, các lỗi là nhiều hơn nữa. Trong các giao diện đồ họa, điều này được bù bằng cách thực hiện các ngữ nghĩa ít nghiêm ngặt hơn. Hãy tưởng tượng nếu trên các nút "OK" và "Hủy" có sẵn cho các nhấp chuột chỉ là 1 pixel chiều rộng.

Có thể làm phức tạp thêm phân tích nếu bạn đánh giá sự thay đổi về chia sẻ lỗi trong người dùng bị khuyết tật về thể chất.

  • Vì vậy, chúng tôi đã xem xét một trong những cách có thể để đánh giá và so sánh các giao diện. Dựa trên các ví dụ trên và kinh nghiệm của riêng họ, hãy để tôi thực hiện một số ngoại suy:
  • Mọi người thích các giao diện không quá nghiêm ngặt khi nhận thông tin, đặc biệt nếu giao diện không quen thuộc.
  • Các giao diện không quá nghiêm ngặt thường được sử dụng không chính xác.
  • Giao diện toàn diện lưu trữ một lượng lớn thông tin trông mạnh mẽ, nhưng thường được sử dụng không chính xác.
  • Nếu sự tương tác trở nên tẻ nhạt, mọi người cố gắng chuyển thông tin vào giao diện bỏ qua.

Khi tương tác, bỏ qua giao diện, thông qua rò rỉ trừu tượng, sự xuất hiện của những bất ngờ khó chịu là vô cùng có khả năng.

Các giao diện sấy khô và hạn chế

Tôi sẽ mô tả một số quan sát dựa trên phân tích từ phần trước. Nhưng trước tiên tôi sẽ đưa ra một vài định nghĩa:

Giao diện bị rò rỉ (Giao diện LEAKY) là một giao diện bị bỏ qua trong bất kỳ tương tác giữa hệ thống và môi trường.

Giao diện hạn chế (Giao diện cụ thể) là một giao diện với một số lượng tương đối nhỏ các đầu vào và đầu ra có thể có.

Một ví dụ điển hình về giao diện hạn chế -

Piecewise Chức năng được chỉ định.

chỉ được xác định cho một số lượng nhỏ dữ liệu đầu vào.

Nếu bạn có thể đánh giá hợp lý các giao diện "lỗ" hoặc "Ổm thế", nó có ý nghĩa để phác thảo phạm vi, ở một đầu sẽ rất hạn chế và các giao diện không hoạt động và mặt khác - không giới hạn và bị rò rỉ.

Bạn có thể cung cấp cho ai đó di chuyển sang trái hoặc phải theo thang điểm, nhưng quan trọng nhất là bạn đã nắm lấy ý tưởng. Bạn thậm chí có thể đập vào hai thang đo riêng biệt: theo mức độ của lỗ và sự cứng nhắc. Mặc dù nói chung, hai khái niệm này tương quan tốt.

Tương quan tiếp theo mà tôi muốn cung cấp có nguồn gốc từ kinh nghiệm của tôi. Ở cạnh trái của thang điểm "lỗi" ít phổ biến hơn, và thông thường chúng phát sinh do thất bại

Thẩm định

.

. Ở cạnh phải của thang đo lỗi xảy ra thường xuyên hơn, và thường là lý do của chúng nằm trong những thất bại khi

xác minh

Độ phức tạp không có triệu chứng của nợ kỹ thuật

Tôi sẽ bắt đầu với tuyên bố:

Phần chính của nợ kỹ thuật phát sinh trong dự án hoặc do sự hỗ trợ không thể chấp nhận được về rò rỉ trừu tượng, hoặc do các giao diện cực kỳ đáng kinh ngạc, phức tạp rất nhiều dự báo về hậu quả.

Lúc đầu, dự án chứa một hoặc hai mô-đun và nghiên cứu một thỏa thuận giao diện tốt, bạn sẽ cần thực hiện số lượng công việc trên (1). Nếu giao diện của bạn là xấu, khối lượng nợ kỹ thuật cũng sẽ bằng (1), do đó bạn sẽ không phải dành quá nhiều thời gian để mang lại hợp đồng giao diện. Nhưng với sự gia tăng tuyến tính trong số lượng mô-đun, thể tích của liên kết liên phương có thể đạt được O (n ^ 2). Do đó, với một giao diện xấu, nếu mỗi mô-đun tương tác với tất cả các mô-đun khác, số lần hấp dẫn đối với giao diện trong trường hợp xấu nhất sẽ tỷ lệ thuận với N ^ 2.

Như có thể thấy từ các biểu đồ, ban đầu nó được lưu trong việc tạo giao diện được cân nhắc tốt. Nhưng chiến thắng này đã nhanh chóng bị mất do các vấn đề ngày càng tăng liên quan đến tương tác giữa các mô-đun. Lượng công việc do sự gia tăng này đến mức độ của số lượng mô-đun, trong khi với một giao diện tốt, nó phát triển tuyến tính. Kịch bản tồi tệ nhất - Khi mỗi mô-đun giao tiếp với từng mô-đun, có nhiều vấn đề hơn trong quá trình Hendeshka, từ đây và thân cây.

Thông thường, mức độ tương tác đa phương tiện đang phát triển chậm hơn O (n ^ 2), nhưng nó chắc chắn nhanh hơn (n). Ngoài ra còn có một yếu tố thay đổi sự khởi đầu của sự tăng trưởng nhanh chóng trong tương lai: Đây là trí nhớ của con người. Ngay cả khi có 20 mô-đun trong dự án của bạn, bạn có thể nhớ rằng nó làm cho mỗi người trong số họ. Vì vậy, trong tất cả các hợp đồng bạn chỉ cần tên sương mù của các chức năng và các thỏa thuận bí truyền. Nhưng ngay khi dự án trở nên khá lớn, thì nhiều chi tiết bị lãng quên, hoặc khi những người mới đến dự án - và sự tăng trưởng mạnh mẽ của chi phí lao động bắt đầu.

  • Tại sao vẫn đang sử dụng dòng lệnh?
  • Bạn sẽ nhận được các câu trả lời khác nhau từ những người đến câu hỏi này, không ai trong số đó dường như là điều quan trọng nhất:
  • Dòng lệnh linh hoạt và mang lại nhiều cơ hội.

Nó tiêu tốn ít tài nguyên hơn.

Điều này cho phép bạn hiểu rõ hơn mọi thứ hoạt động.

Điều quan trọng nhất là lý do tại sao chúng ta vẫn sử dụng dòng lệnh, nó là

Tự động hóa!

Hầu như không thể đánh giá quá cao những lợi ích của việc sử dụng các quy trình tự động. Nếu tôi cần chạy một cụm thành 100 máy chủ, tôi sẽ không kết nối với từng phần mềm và phần mềm cài đặt thủ công, nhấp vào một đống nút trong vô số GUI. Ngay cả khi bạn cần tự động hóa quy trình sáo rỗng trong GUI, bạn sẽ cần một tệp khác trong đó thông tin sẽ được lưu ở nơi và cách nhấp. Một cái gì đó giống như một tập tin linh hoạt ... các đội.

Mặc dù chúng tôi có thể thực hiện tự động hóa thông qua các lần nhấp và nhấp chuột trên màn hình, chúng tôi không được quên rằng loại tương tác này với máy được phát minh cho người dân. Nó ngụ ý việc sử dụng một giao diện không nghiêm ngặt không yêu cầu độ chính xác cao. Do đó, clicker tự động của bạn chắc chắn sẽ được sử dụng nếu cửa sổ đột nhiên di chuyển từ vị trí của nó hoặc phông chữ hệ thống sẽ thay đổi. Với GUI, quá nhiều biến được kết nối. Và dòng lệnh cho phép bạn hành động chính xác hơn nhiều, bạn sẽ tương tác thông qua giao diện rất nghiêm ngặt. Do đó, nhiều người không thích anh ta, không giống như các chương trình máy tính.

Tất nhiên, có những tình huống có độ chính xác thấp của sự tương tác của GUI là tốt. Ví dụ: khi tạo tranh kỹ thuật số, bạn không cần phải lo lắng về vị trí và màu sắc của mỗi pixel. Điều chính là

một cái gì đó

ĐẶC BIỆT CHO MACHI PIXEL. Do đó, tiếng ồn được truyền qua tay di chuyển con trỏ trở thành thông tin quan trọng trong sản phẩm cuối cùng.

Chọn ngôn ngữ phù hợp

Sau phần về độ phức tạp không có triệu chứng của nợ kỹ thuật, bạn có thể nghĩ rằng bất kỳ dự án nào cần phải được viết bằng ngôn ngữ với các điều kiện rất nghiêm ngặt của các hợp đồng giao diện, như Haskell hoặc Java. Nhưng đây không phải là chính xác những gì tôi muốn truyền đạt. Câu trả lời cho câu hỏi tiếp theo có thể giúp bạn lựa chọn đúng.

Làm thế nào có khả năng thay đổi yêu cầu cho dự án của bạn?

Vào đầu trường hợp mới, câu trả lời chắc chắn sẽ "rất có thể", đặc biệt nếu một sản phẩm nhỏ được tạo ra, và thậm chí với sự mơ hồ của triển vọng trên thị trường. Nếu các yêu cầu được xây dựng rõ ràng như, ví dụ, trong trường hợp tạo trình biên dịch hoặc phát triển dự án dựa trên các tiêu chuẩn quốc tế, câu trả lời chắc chắn sẽ "không quá có khả năng".

Nếu bạn đã trả lời "rất có thể", thì hãy sử dụng một ngôn ngữ cho phép bạn mất ít thời gian hơn khi chỉ định các hợp đồng giao diện: chúng chắc chắn sẽ làm việc chống lại bạn trong trường hợp thay đổi yêu cầu. Nhưng nhiệm vụ chính ở đây không phải là để có được sự thực hiện lý tưởng của các yêu cầu, mà là những yêu cầu lý tưởng cho phép bạn

để bắt đầu

Tạo triển khai cuối cùng. Một ngoại lệ có thể là một tình huống MVP của bạn là một hệ thống lớn với hàng trăm mô-đun. Nếu nhiều người tham gia vào dự án, thì một giao diện tốt chỉ đơn giản là cần thiết để họ đến với nhau.

Nếu bạn trả lời "không quá có khả năng", thì hãy sử dụng một ngôn ngữ với các hợp đồng giao diện rất nghiêm ngặt. Đầu tiên bạn sẽ phải làm việc nhiều hơn, nhưng sau đó việc giới thiệu các cơ hội mới sẽ đòi hỏi ít nỗ lực hơn. Ngoại lệ duy nhất có thể là một tình huống nếu bạn viết một số sản phẩm nhỏ (vài trăm chuỗi).

Đôi khi đã bị phá vỡ khá nhiều bản sao liên quan đến những gì Twitter bắt đầu tạo ra trên Ruby on Rails, và sau đó đó là lý do cho việc chia tỷ lệ của dự án. Sau này Twitter đã được dịch thành Scala. Ai đó có thể cho rằng các nhà phát triển đã phạm sai lầm và họ nên chọn ngay Scala. Tôi không nghĩ vậy. Ở trung tâm của Twitter là một ý tưởng rất đơn giản, và trong điều kiện của một số lượng lớn các đối thủ cạnh tranh mà họ cần để giành được vị trí thống lĩnh trên thị trường. Họ cần phải phát triển càng nhanh càng tốt, bất chấp chi phí. Các chu kỳ phát triển của các tính năng mới sẽ trôi qua nhanh nhất có thể, vì nó cho phép trong thời gian ngắn nhất có thể để hiểu chính xác những người dùng cần người dùng, sản phẩm nào họ muốn làm kết quả. Những khó khăn của việc mở rộng là một dấu hiệu của việc không thất bại, nhưng thành công. Tầm nhìn của Twitter đã được xây dựng như một thành phẩm, và nó chỉ duy trì để nhận ra nó. Từ quan điểm của các nhà phát triển, đó chỉ là một niết bàn, mọi người đều mơ ước về một điều như vậy, nhưng ít người quản lý để làm việc trong những điều kiện như vậy: "Ripegate shit này từ đầu vào ngôn ngữ yêu thích của bạn, vì nó thuận tiện cho bạn, nếu chỉ Trong tương lai, nó dễ dàng hơn để làm việc với anh ta. " Nó dễ dàng hơn nhiều để viết lại một cái gì đó từ đầu, có một triển khai yếu hơn trước mắt chúng ta hơn là cố gắng thêm một cái nhìn sản phẩm, sẽ cho phép công ty cất cánh. Thật không may, phần lớn những người tham gia thị trường chỉ đi bằng cách tránh chi phí "không cần thiết" để tạo ra từ đầu và dành rất nhiều sức mạnh và thời gian để mở rộng rằng ban đầu nó là không thể mở rộng.

Tại sao Python phổ biến?

Trong phần trên các lỗ và giao diện nghiêm ngặt, tôi đã nói về phương thức phân loại giao diện, tùy thuộc vào xu hướng rò rỉ trừu tượng của chúng, cũng như cách các định nghĩa giao diện có thể nghiêm ngặt. Và tôi đã chỉ ra thực tế rằng các giao diện "thân thiện" và "sản xuất" nhiều dễ bị rò rỉ hơn nhiều so với phần khác của phổ giao diện.

Tôi tin rằng sự phổ biến của Python phát sinh từ thực tế là nó là một ngôn ngữ giới thiệu tuyệt vời cung cấp các hợp đồng giao diện cực kỳ đơn giản. Vì lý do tương tự, với sự gia tăng của dự án trên Python, nó ngày càng trở nên khó khăn hơn.

Python rất phổ biến trong cộng đồng khoa học và trong số những người yêu thích thử nghiệm với phân tích số. Bản chất của thí nghiệm đòi hỏi phải cải thiện liên tục trong sản phẩm đã tạo và các giao diện nghiêm ngặt chậm lại.

Tại sao phần mềm công ty thường viết trên Java / C ++?

Trong phần về các lỗ và giao diện nghiêm ngặt, tôi đã nói về các thỏa hiệp liên quan đến các loại giao diện khác nhau. Java và C ++ nhiều hơn là phần nghiêm ngặt của phổ, không giống như Python hoặc Ruby. Có, rò rỉ có thể bị rò rỉ, và có nhiều ngôn ngữ nghiêm ngặt hơn (cùng Haskell), nhưng Java và C ++ được cân bằng nhiều hơn từ quan điểm về khả năng mở rộng, thân thiện và lời bài hát. Ngoài ra, hai ngôn ngữ này cho phép bạn linh hoạt để kiểm soát các giao diện của các giao diện tùy thuộc vào các thỏa thuận dự án. Ví dụ: tạo các biến hoặc chức năng với riêng tư, công cộng hoặc được bảo vệ.

Cách cắt góc

Nếu bạn muốn mang một cái gì đó từ bài viết này, xin vui lòng: Khi bạn cần cắt các góc trong dự án, hãy thực hiện bên trong

Bán hàng

và quay vòng quanh B.

  • rất tốt
  • giao diện. Ngay cả khi việc triển khai không quá tốt và các vấn đề của nó chảy vào các phần khác của hệ thống, thì đây là một vấn đề giao diện xấu! Vì vậy, không có sự hiểu lầm, hãy để danh sách những gì tôi có nghĩa là dưới các giao diện:
  • Nguyên mẫu của các chức năng.
  • "Giao diện" Java.
  • Phương pháp lớp học công khai.
  • Biến của các thành phần công cộng.
  • Tệp tiêu đề (.h) trong C / C ++.
  • Api nghỉ ngơi điểm cuối.
  • Định tuyến URL.
  • Các khía cạnh công cộng của "mô hình" hoặc "gói".

Cấu trúc cơ sở dữ liệu logic (DDL).

Và nhiều hơn nữa.

Phần kết luận

Như bạn có thể thấy, khái niệm giao diện cực kỳ quan trọng và có tác động rất lớn đến sự phát triển của dự án trong lĩnh vực bảo vệ pháp lý, năng suất và số lượng mối quan hệ triết học với các khía cạnh khác của cơ cấu hệ thống. Hỏi các lập trình viên khác mà họ nghĩ về các giao diện, và lắng nghe tất cả các thứ.

Giao diện người dùng là phương tiện tương tác giữa con người và máy tính. Nói với những từ đơn giản, giao diện là phần bên ngoài của chương trình hoặc thiết bị mà người dùng hoạt động. Giao diện từ - Hộp mực có giao diện tiếng Anh, nghĩa là "liên kết viền".

Thông thường, dưới giao diện Word ngụ ý giao diện người dùng. Ví dụ: họ nói: "Cửa hàng trực tuyến này có giao diện khó hiểu, khó hiểu". Điều này có nghĩa là các cửa hàng là bất tiện để tương tác. Ví dụ, rất khó để tìm thấy hàng hóa cần thiết, không rõ cách đặt hàng, trang web không lưu dữ liệu đã nhập trước đó, v.v.

Ví dụ về sử dụng:

Nhiều người dùng muốn trả lại giao diện cũ "VKontakte", họ không thích mới.

Chương trình có một giao diện trực quan - ngay lập tức rõ ràng nơi nhấn và những gì nó sẽ dẫn đến.

Giao diện Windows rất phức tạp: Người dùng thiếu kinh nghiệm bị nhầm lẫn trong một đống cài đặt.

Giao diện web là một trang trên Internet cho phép người dùng tương tác với một số dịch vụ hoặc thiết bị trực tiếp thông qua trình duyệt. Ví dụ: sử dụng giao diện web, bạn có thể sử dụng ngân hàng trực tuyến: Chuyển đến trang ngân hàng, nhập thông tin đăng nhập và mật khẩu, sau đó dịch tiền giữa các tài khoản, thanh toán cho các dịch vụ, v.v.

Giao diện phần cứng và phần mềm. Giao diện USB và API là gì Ngoài giao diện người dùng, có giao diện phần mềm (tương tác các chương trình với nhau) và giao diện phần cứng (phương thức cho sự tương tác của các thiết bị vật lý, "Iron"). Khi họ nói về giao diện phần cứng, chúng thường có nghĩa là các đầu nối thông qua đó các thiết bị có thể được kết nối với nhau. Ví dụ: "Kết nối qua giao diện USB" có nghĩa là kết nối các thiết bị thông qua

Lốp xe phổ thông

Dự định để kết nối thiết bị ngoại vi. Thông qua USB, ví dụ, bạn có thể kết nối bàn phím, chuột, camera hoặc điện thoại thông minh với máy tính.

Giao diện phần cứng - Cáp USB

Giao diện chương trình là một cách để tương tác các chương trình giữa chính họ. Ví dụ: API (Giao diện lập trình ứng dụng, giao diện lập trình ứng dụng) là một tập hợp các lệnh cho phép các chương trình tự động trao đổi dữ liệu mà không cần sự tham gia của mọi người. Một chương trình API gửi yêu cầu, một chương trình khác phản ứng với cô ấy.

Ví dụ: trên trang tin tức hiển thị mức giá tiền tệ thay đổi trong thời gian thực. Điều này không có nghĩa là trình soạn thảo trang web mỗi lần thủ công thay đổi các số trên trang. Bản thân trang web tin tức sẽ gửi một yêu cầu API đến một máy chủ bằng trao đổi tiền tệ và nhận các số cần thiết từ đó.

Các loại giao diện người dùng. Đồ họa, văn bản và những người khác

Giao diện văn bản là một cách để giao tiếp một người có máy tính bằng cách sử dụng lệnh in lệnh. Ví dụ: trong hệ điều hành MS-DOS, giao diện là Texcual - người dùng quay số các lệnh cần thiết trên bàn phím và máy đã thực hiện chúng.

Giao diện văn bản MS-DOS - Dòng lệnh

Vấn đề của giao diện văn bản là người dùng phải biết các lệnh cần thiết và mỗi lần thủ công nhập chúng mà không có lỗi. Một phần từ khó khăn này đã loại bỏ vỏ cho MS-DOS - ví dụ, Norton Commander.

Norton Commander - Trình quản lý tệp cho MS-DOS. Bạn không chỉ có thể nhập các lệnh trên bàn phím, mà hoạt động với các tệp bằng phím tắt.

Chẳng mấy chốc, xuất hiện các giao diện đồ họa nơi người dùng tương tác với các đối tượng trực quan: các nút, biểu tượng, hình ảnh trên màn hình. Hệ điều hành Windows sử dụng giao diện đồ họa: Người dùng nhấp vào biểu tượng trên các biểu tượng - chữ tượng hình mô tả các tệp và chương trình.

Giao diện đồ họa Windows 3.11

Giao diện vật liệu là một cách để tương tác với máy tính bằng cách sử dụng các cấu trúc hữu hình. Ví dụ, một chuột máy tính hoặc cần điều khiển là một giao diện vật liệu. Di chuyển chuột trên bàn, chúng tôi đồng thời di chuyển mũi tên con trỏ trên màn hình.

Giao diện vật liệu - Chuột máy tính. Ảnh: Cứu tiền.

Giao diện giọng nói là điều khiển bằng cách sử dụng các lệnh giọng nói. Giọng nói của con người hôm nay biết ngay cả điện thoại di động. Ví dụ: Siri từ Apple, Trợ lý giọng nói của Google, "Alice" từ Yandex

Giao diện giọng nói - Apple Siri. Siri là một sự giảm bớt từ giao diện nhận dạng và giải thích lời nói (nhận dạng giọng nói và giao diện giải thích). Ảnh: Cứu tiền.

Một giao diện nhạc cụ cho phép bạn đưa ra các lệnh, làm cử chỉ bằng ngón tay, tay, chuột máy tính, bộ điều khiển đặc biệt, v.v.

Giao diện cài đặt - Bảng điều khiển trò chơi Nintendo Wii, có bộ điều khiển phản ứng với chuyển động của người dùng.

Giao diện Tactile cho phép người dùng gặp cảm giác xúc giác (đẩy, rung, v.v.) và tương tác với máy tính với sự giúp đỡ của chúng.

Găng tay thực tế ảo - một ví dụ về giao diện Tactile. Ảnh: NASA.

Giao diện Neural cho phép bạn truyền các lệnh với các điện cực xốp vào não. Giao diện thần kinh hai chiều không chỉ có thể lấy thông tin từ não, mà còn để gửi nó đến não - ví dụ, thông qua võng mạc của mắt.

Jens Naumann - mù, có khả năng "xem" với chân giả trực quan thần kinh. Máy ảnh chụp ảnh và gửi phiên bản chế biến trong vỏ não visual qua các điện cực.

Kian Rivz trong bộ phim "Matrix" (1999). Những anh hùng thích Neuoinceerface để vào thực tế ảo - Ma trận.

Cybebebeis - giao diện dưới dạng thực tế ảo. Khung hình từ bộ phim tuyệt vời "Johnny Mnemonic" (1995)

Chào mừng bạn đến với bạn, bạn bè! Từ "giao diện" trên tin đồn về chủ sở hữu của PC và điện thoại, nhưng không phải ai cũng hiểu nó. Chúng tôi sẽ bảo Teapots, giao diện trong máy tính và điện thoại thông minh là gì, tại sao cần thiết, những gì xảy ra cách sử dụng nó một cách chính xác. Xem từ này trên trang web, trong mô tả hoặc trong các hướng dẫn, người mới sẽ hiểu những gì chúng ta đang nói về và phải làm gì tiếp theo.

Làn sóng

Giao diện mà nó cần là gì

Dịch từ giao diện tiếng Anh - Tương tác. Cách viết bằng tiếng Nga: Giao diện (đôi khi infabes được viết - nó không chính xác). Định nghĩa bình thường là một ranh giới phổ biến giữa hai đối tượng chức năng. Ví dụ, một người đàn ông đứng sau bánh xe của mình, hãy chuyển đòn bẩy hộp số - đây là sự tương tác với hệ thống giao diện máy. Hộp số là nhạc trưởng giữa tài xế và xe hơi.

  • Trong khoa học máy tính, nghĩa của từ sâu hơn là các công cụ tương tác của người dùng với trò chơi, chương trình hoặc hệ điều hành, các phương thức kiểm soát hoạt động của máy tính toán. Nhờ giao diện, một người sẽ tìm ra bất kỳ chương trình hoặc trình soạn thảo văn bản. Nếu chúng tôi sở hữu công việc với trình chỉnh sửa đồ họa Paint, thật dễ dàng để làm chủ các chương trình tương tự khác, vì chúng có cấu trúc tương tự.
  • Nhiệm vụ giao diện cơ bản:
  • thông tin đầu vào và đầu ra;
  • Phần mềm quản lý;

Trao đổi dữ liệu thông qua các nhà mạng bên ngoài;

Lệnh.

Bảng điều khiển phía sau của đơn vị hệ thống PC cũng là một giao diện cho phép bạn kết nối các thiết bị khác.

Người dùng bao gồm một máy tính và nhìn thấy các biểu tượng trước mặt anh ta: "Máy tính của tôi", "Nhãn", "Ảnh", v.v. - Tất cả các yếu tố giao diện này.

Các loại giao diện.

Giao diện có thể được mô tả ngắn gọn như giải phóng mặt bằng: những gì một người nhìn thấy trước mặt anh ta, sử dụng PC hoặc điện thoại. Mặc dù trên thực tế, đây là cấu trúc hệ thống, bởi vì bằng cách nhấn các nút bằng cách nhấp vào mục menu, người dùng sẽ đến nơi cần thiết: Máy ảnh, Thư viện, Danh bạ, Tin nhắn. Mục đích của nó là một cách sử dụng hiệu quả, dễ chịu của một thiết bị điện tử hoặc trang web.

Video.

  • Có nhiều loại giao diện khác nhau, mỗi giao diện chúng ta sẽ nói thêm.
  • Phổ biến nhất:
  • dòng lệnh;
  • Giao diện đồ họa và văn bản;
  • theo loại quản lý (cử chỉ, giọng nói, xúc giác và thần kinh);
  • chương trình;
  • phần cứng;
  • phần cứng phần mềm;
  • người sử dụng;
  • Web;
  • trò chơi;

vật chất;

Dòng lệnh

trong điện thoại.

Giao diện từ đơn giản là gì

Nếu bạn cần đặt tên và liệt kê các loại giao diện hiện đại, thông tin này sẽ giúp đặt ra mọi thứ chính xác và trình bày tốt.

Đây là một phần mềm riêng biệt là một phần của Ourser và đảm bảo mối quan hệ giữa người dùng và HĐH. Nhờ dấu nhắc lệnh, bạn có thể thực hiện các lệnh máy tính. Đây là một giao tiếp với máy trong ngôn ngữ của nó.

Trong số những thiếu sót - bạn cần biết các lệnh, mỗi lần bạn quay số chúng mà không có lỗi nào. Ưu điểm là khả năng nhập các lệnh mà không cần sự tham gia của cấu trúc đồ họa, mang lại thêm cơ hội.

Ví dụ, dòng lệnh (giao diện bảng điều khiển) bắt đầu trong vỏ của nó, ví dụ, trong BIOS. Tuyến đường chính của vị trí của nó: C: \ Windows \ System32 \ cmd.exe. Yowser thông thường không cần phải có chủ ý trong đó dòng lệnh được đặt và cách thức hoạt động và cho các chuyên gia, đó là công cụ chính, vì nó giúp với máy tính có vi-rút, phục hồi Windows và trong các trường hợp khác.

Một phương thức đơn giản để tìm dòng lệnh: Đồng thời nhấn các phím Win + R, trong cửa sổ CMD xuất hiện.

Giao diện lệnh

Đồ họa và văn bản.

  • Đồ họa (Eng. Giao diện người dùng đồ họa, GUI) được sử dụng trong tất cả các hoạt động, trong hầu hết các ứng dụng. Thông thường, nó được gọi là Wimp - đây là tên viết tắt từ các chữ cái đầu tiên của Wordwow, Icon, Menu, Thiết bị trỏ (thao tác thiết bị).
  • Những yếu tố chính:
  • thực đơn;

danh sách;

Chữ tượng hình (bản vẽ, sơ đồ).

Trên Windows Windows, người dùng nhấp vào các biểu tượng, chữ tượng hình mô tả các chương trình và tệp là một giao diện đồ họa, cung cấp nhiều cơ hội cho mỗi người dùng. Không cần phải nhập bất kỳ lệnh nào. Để tương tác thuận tiện, một con chuột máy tính được sử dụng.

Bạn cần phân biệt đồ họa với giao diện Visual, đại diện cho hệ thống dưới dạng một tập hợp các hình ảnh trực quan - nó có thể là một biểu tượng hoặc dòng chữ nằm trong một vị trí màn hình cụ thể. Cấu trúc thị giác không nhất thiết sử dụng ánh xạ đồ họa. Cấu trúc thị giác có thể là đồ họa và văn bản.

Văn bản sử dụng khi nhập và cung cấp thông tin, một tập hợp các chữ cái / số, ký tự của giả. Nó sử dụng tất cả các yếu tố thiết kế đồ họa cơ bản: các hộp kiểm, các nút bỏ các danh sách, v.v. Khác với các tài nguyên kỹ thuật đòi hỏi nhỏ, dữ liệu tốc độ cao. Giao diện văn bản là một loại người dùng, trong khi dòng lệnh là một phần của văn bản.

Trong trường hợp đơn giản nhất, giao diện văn bản sử dụng một dòng lệnh, nhưng nhiều chương trình với các yếu tố tương tác tạo ra một thiết kế thân thiện hơn, dễ hiểu hơn, đang tiếp cận sự tiện lợi cho đồ họa.

Một số chương trình hỗ trợ hệ thống cửa sổ được phát triển, chẳng hạn như Turbo Vision, D-Flat, Cscape, nhiều người có chủ đề thiết kế có thể thay đổi (DOS Navigator), cũng như khả năng sử dụng các mục tương tác tương tác khác nhau (cần điều khiển).

Cử chỉ, giọng nói, xúc giác và thần kinh

  • Người dùng quản lý máy tính và đưa ra các lệnh với các phương thức khác nhau: cử chỉ, giọng nói, v.v.
  • Do đó, loại điều khiển được phân biệt:
  • Giao diện hàng năm. Các yếu tố liên lạc là máy tính bảng đồ họa, màn hình cảm ứng và các công nghệ khác phản ứng với các chuyển động của ngón tay;
  • Giao diện giọng nói biểu thị quản lý giọng nói. Ví dụ là: Siri từ Apple, Alice từ Yandex;

Tactile khi sự tương tác dựa trên cảm giác xúc giác, có được phản hồi nhạy cảm (rung, đẩy);

Neuronal - Truyền lệnh thông qua các điện cực xối vào não. Thông tin có thể được lấy từ não và truyền đến nó, ví dụ, thông qua võng mạc mắt. Trong thực tế, Neuroptface có thể giảm bớt cuộc sống của những bệnh nhân bị liệt có bộ não hoạt động tốt. Neuropointerface cho phép họ thực hiện các hành động cụ thể, đọc ý định của chúng với sự trợ giúp của các điện cực được kết nối với não.

Giao diện hệ thống đồ họa

Phần mềm, phần cứng, phần cứng và phần mềm

  • Hệ thống giao diện cung cấp liên hệ ngay cả giữa các prog và thiết bị.
  • Có 3 nhóm:
  • Giao diện lập trình (tiếng Anh. Giao diện lập trình) là sự tương tác của các chương trình. Cụ thể, giao diện lập trình API hoặc ứng dụng - các phương thức trao đổi dữ liệu giữa các chương trình máy tính (người ta sẽ gửi yêu cầu đến API, một yêu cầu khác). Cổng thông tin tin tức cho thấy tiền tệ. Không phải trình soạn thảo chịu trách nhiệm cho việc này (anh ta sẽ phải thay đổi các số) và API mà trang web gửi yêu cầu trao đổi tiền tệ, nhận được câu trả lời;

Phần cứng được thiết kế để tương tác các thiết bị vật lý với nhau bằng các khe cắm, đầu nối, cổng. USB (lốp Universal tuần tự) là ví dụ quen thuộc nhất. Thông qua nó kết nối với điện thoại PC, máy ảnh, chuột;

Phần mềm phần cứng là sự tương tác của các nút, các phần tử trong điều khiển chương trình.

Giao diện người dùng

Những gì người dùng liên lạc với những gì anh ta nhìn thấy trước mặt mình, nơi nó nhấp chuột - đây là giao diện người dùng. Đây là phần bên ngoài của thiết bị hoặc chương trình mà người dùng hoạt động.

Thông thường, dưới giao diện Word ngụ ý người dùng (Giao diện người dùng). Điều đó xảy ra rằng khách truy cập trang web nói: "Có một đăng ký hoặc menu khó chịu hoặc khó chịu." Vì vậy, trang web không thoải mái khi liên hệ: Rất khó để tìm đúng mục, kiểm tra đơn hàng, tải xuống tài liệu. Cấu trúc dễ hiểu là khi một người ngay lập tức nhìn thấy nơi để nhấp, biết những gì nó sẽ gây ra nó. Nhưng với Windows, nhiều người mới có vấn đề, bởi vì thiết kế khảo sát hệ điều hành này, người dùng thiếu kinh nghiệm bị nhầm lẫn trong các cài đặt. Trong nền tảng 1C, hai cơ chế giao diện người dùng khác nhau được sử dụng trong các máy khách 1C khác nhau.

Dòng lệnh, đồ họa, văn bản, giọng nói, cử chỉ, xúc giác, thần kinh, thủ tục - tất cả những thứ này được bao gồm trong giao diện người dùng. Trong sự kiểm soát của nó, người dùng nhập dữ liệu vào PC, thông tin trên màn hình được hiển thị, máy in. Thậm chí còn có một giao diện của bảng tính - đây là một yếu tố mà một người nhìn thấy, chạy, ví dụ, ứng dụng OpenOffice.org Calc.

Nhưng có một số loại giao diện người dùng khác.

Giao diện phần cứng.

Trò chơi trên web

Giao diện web là một trang web (một hoặc một tập hợp) biểu thị một cấu trúc để liên hệ với máy chủ hoặc thiết bị thông qua giao thức HTTP và trình duyệt web. Ví dụ: máy khách có thể truy cập trang ngân hàng, thanh toán các dịch vụ tiện ích. Ưu điểm chính - không cần cài đặt thêm phần mềm, vì hệ điều hành đi kèm với trình duyệt. Không cần phải nhầm lẫn với giao diện mạng. Trong thuật ngữ này được hiểu là một thiết bị ảo hoặc vật lý, nhằm truyền dữ liệu giữa các chương trình thông qua mạng máy tính (ví dụ: Vlan).

Cách phổ biến để tạo giao diện web là việc sử dụng HTML với CSS và JavaScript'a. Đồng thời sử dụng Adobe Flash, Java Applet hoặc Silverlight.

Một loại khác là giao diện trò chơi - được liên kết trực tiếp với Gamedizayn, mặc dù nó vượt quá khả năng của nó. Người chơi và trò chơi có người ở trong các vũ trụ khác nhau, và cấu trúc chơi game là điểm liên lạc lẫn nhau của họ. Với nó, game thủ có được thông tin cần thiết từ trò chơi, và nó có hành động của người chơi.

Vật chất

Giao diện vật liệu hoặc Tactile là một loại người dùng khác. Đây là một liên hệ của một người có thiết bị điện tử với các cấu trúc hữu hình. Ví dụ, một con chuột di chuyển, một người đồng thời di chuyển mũi tên của con trỏ trên màn hình.

Giống giao thoa

Giao diện trong điện thoại

Phong cách tổng thể của giao diện thiết bị di động được đặc trưng là SIMP (màn hình-biểu tượng-menu-con trỏ). Trên nền tảng Windows Mobile là các yếu tố của cấu trúc chiếm toàn bộ màn hình. Sự chuyển đổi giữa các cửa sổ được thực hiện bởi các yếu tố đồ họa hoặc kéo bằng ngón tay.

  • Các tính năng của thiết kế của SIMP được giải thích bởi các chi tiết cụ thể của HĐH.
  • Hệ điều hành phổ biến nhất cho các tiện ích:
  • Android;
  • Apple iOS;
  • WindowsMobile;
  • Palm OS;

Hệ điều hành Symbian;

BlackBerry OS.

Nga là phổ biến - Android, Apple iOS, WindowsMobile. Nhưng các nhà sản xuất sử dụng các loại hệ thống và khối giao diện của họ, lý do chính là xây dựng thương hiệu. Khả năng của Android để tùy chỉnh có nghĩa là các nhà sản xuất thiết bị của công ty có thể thay đổi phần mềm, ví dụ, trong lĩnh vực chức năng và thiết kế.

Các cấu trúc hệ thống khác nhau trong các thiết bị di động không ảnh hưởng lớn đến kinh nghiệm của chủ sở hữu, bởi vì chúng được tạo ra để giải quyết các nhiệm vụ phổ quát. Sự khác biệt trong tập hợp các ứng dụng.

Giao diện của thiết bị di động cũng bao gồm giắc cắm tai nghe, sạc, bộ phận trợ giúp bằng giọng nói - phần lớn những gì dựa trên công việc của PC, chỉ điều này được điều chỉnh cho các thiết bị. Nhưng trong điện thoại thông minh, có nhiều cấu trúc mới, ví dụ, NFC (NFS) - cấu trúc của giao tiếp không dây.

Ngôn ngữ giao diện có nghĩa là gì

Nó không đáng để gây nhầm lẫn nó với các ngôn ngữ được cài đặt khi gõ tài liệu văn bản.

  • Ngôn ngữ giao diện là một ngôn ngữ được sử dụng khi tải các thao tác, trong menu, trong hộp thoại, Windows Lỗi và Tài liệu tham khảo. Nó có thể được thay đổi nếu ít nhất 1 cái bổ sung được cài đặt vào ngôn ngữ chính.
  • Một cách đơn giản để tìm ra Windows ngôn ngữ nào đang đứng trên PC:
  • Mở "Bảng điều khiển";

Tab "ngôn ngữ";

Phân bổ ngôn ngữ chính được sử dụng bây giờ. Nó có thể được thay đổi hoặc thêm một cái mới.

Kết quả

Đối với một người, giao diện là cơ sở để làm việc với PC hoặc điện thoại. Và đây là một cách để tương tác giữa các chương trình và thiết bị. Sự đơn giản của cấu trúc hệ thống phụ thuộc, cho dù đó là dễ dàng để quản lý thiết bị. Các nhà phát triển đưa ra với các thiết kế và cấu trúc khác nhau, làm cho chúng nhiều hơn hoặc ít dễ chịu, trực quan cho mọi người. Các chuyên gia CNTT có thể thay đổi một số cấu trúc hoặc sử dụng chúng để giải quyết các nhiệm vụ nghiêm trọng và người dùng thiếu kinh nghiệm có thể mua cho mình thiết bị với một hệ thống giao diện trực quan để tạo điều kiện thuận lợi cho công việc và tiết kiệm thời gian.

Giao diện thường được cho là khi chúng có nghĩa là sự tương tác của một người và máy tính hoặc ứng dụng. Trong bài viết, chúng tôi sẽ phân tích định nghĩa của giao diện, điều này dành cho các tương tác, loại và tính năng của chúng.

  • Giao diện là gì

  • Giao diện là một "nhạc trưởng" giữa người đàn ông và một chương trình, một hệ điều hành, một thiết bị kỹ thuật hoặc phương thức tương tác giữa các ứng dụng trong số các ứng dụng. Một người đưa ra các lệnh bằng giao diện, thiết bị sẽ phân tích chúng và phản hồi. Các nhiệm vụ chính mà nó được dành cho:

  • Nhập và hiển thị thông tin (âm thanh, hình ảnh);

  • Quản lý các ứng dụng riêng lẻ;

Trao đổi dữ liệu với các thiết bị khác;

Các loại giao diện.

Tương tác với hệ điều hành.

Dòng lệnh

Giao diện liên quan đến sự tương tác của không chỉ con người và công nghệ, mà còn là chương trình máy tính, chương trình chương trình, thiết bị máy tính. Ví dụ: khi các thiết bị được kết nối với đơn vị hệ thống máy tính, vì phương thức tương tác sử dụng đầu nối.

Một số loại tương tác cho phép bạn kiểm soát nhiều hơn đối với máy tính hoặc điện thoại thông minh, nhưng yêu cầu các kỹ năng bổ sung. Những người khác thoải mái hơn, nhưng cung cấp ít cơ hội hơn. Mỗi loại có đặc điểm riêng của nó.

Ví dụ, dòng lệnh (giao diện bảng điều khiển) bắt đầu trong vỏ của nó, ví dụ, trong BIOS. Tuyến đường chính của vị trí của nó: C: \ Windows \ System32 \ cmd.exe. Yowser thông thường không cần phải có chủ ý trong đó dòng lệnh được đặt và cách thức hoạt động và cho các chuyên gia, đó là công cụ chính, vì nó giúp với máy tính có vi-rút, phục hồi Windows và trong các trường hợp khác.

Thông qua dòng lệnh, bạn có thể thực hiện số lượng hoạt động tối đa là một cách trực tiếp để liên lạc với hệ điều hành. Để nhập lệnh, bạn cần nhập văn bản vào máy tính và nhấn Enter, máy tính sẽ bắt đầu thực hiện.

Phương pháp trừ là nó chỉ phù hợp với người dùng được đào tạo. Trong dòng lệnh, không có các yếu tố đồ họa phụ trợ, nó sẽ phải thành thạo ngôn ngữ để tương tác và các lệnh hoạt động không thể nhầm lẫn.

Đồ họa đơn giản hóa sự tương tác với máy tính, nó sẽ dễ dàng hơn nhiều với nó và thoải mái hơn với văn bản. Trong vai trò của giao diện đồ họa, các yếu tố như vậy là:

Trong trường hợp đơn giản nhất, giao diện văn bản sử dụng một dòng lệnh, nhưng nhiều chương trình với các yếu tố tương tác tạo ra một thiết kế thân thiện hơn, dễ hiểu hơn, đang tiếp cận sự tiện lợi cho đồ họa.

Ví dụ: khi tương tác với Windows sử dụng các biểu tượng và Windows, chuột được kết nối để nhập. Trên điện thoại thông minh, thiết bị đầu vào là màn hình màn hình cảm ứng.

Giao diện văn bản không sử dụng hình ảnh: các lệnh được cung cấp bằng văn bản và thông tin được cung cấp trong mẫu văn bản.

Tương tác cử chỉ cho phép bạn đưa ra các lệnh cho các chuyển động của các ngón tay. Nó được áp dụng khi làm việc với màn hình cảm ứng của điện thoại thông minh. Ví dụ, cử chỉ "Up" làm cho cửa sổ bật lên xuất hiện.

Giao diện giọng nói là một quản lý bằng giọng nói. Tiện ích nhận ra và thực hiện các lệnh âm thanh.

Tactile khi sự tương tác dựa trên cảm giác xúc giác, có được phản hồi nhạy cảm (rung, đẩy);

Tactile ngụ ý tương tác với sự trợ giúp của việc chạm vào: rung hoặc nhạy cảm với nhấn.

Giao diện thần kinh truyền lệnh trực tiếp từ não đến máy tính, cho việc này, các điện cực được cấy vào não. Nó được sử dụng trong y học: vì vậy một người bị tê liệt có thể giao tiếp với thế giới bên ngoài.

Phần cứng được thiết kế để tương tác các thiết bị vật lý với nhau bằng các khe cắm, đầu nối, cổng. USB (lốp Universal tuần tự) là ví dụ quen thuộc nhất. Thông qua nó kết nối với điện thoại PC, máy ảnh, chuột;

Tương tác chương trình với nhau cung cấp giao diện phần mềm. Các chương trình gửi yêu cầu cho nhau và nhận câu trả lời. Ví dụ: liên tục hiển thị thời tiết có liên quan trong một tiện ích hoặc trên máy tính, một chương trình liên tục gửi yêu cầu này đến yêu cầu khác và nó cung cấp dữ liệu mới.

Phần cứng được dành cho việc tổ chức giao tiếp giữa các thiết bị vật lý thông qua các đầu nối và khe cắm. Và khi máy tính đọc thông tin từ đĩa cứng - đây là công việc chung của chương trình và thiết bị vật lý, nghĩa là giao diện phần cứng và phần mềm.

Tất cả, với đó người dùng thông thường tương tác khi bao gồm máy tính, vào trang web hoặc trong ứng dụng, mọi thứ mà một người nhìn thấy trên màn hình là giao diện người dùng.

Web, trang web trò chơi

Cách phổ biến để tạo giao diện web là việc sử dụng HTML với CSS và JavaScript'a. Đồng thời sử dụng Adobe Flash, Java Applet hoặc Silverlight.

Giao diện web cho phép bạn làm việc thông qua trình duyệt. Đây là sự tương tác của các chương trình trên Internet. Ví dụ: bạn có thể truy cập trang web của cửa hàng và thanh toán các giao dịch mua hàng. Trình duyệt trong trường hợp này sẽ là một giao diện web, nhờ các trang tương tác.

Vật chất

Trò chơi là cách người dùng có thể tương tác với trò chơi mà các lệnh có thể cung cấp, trong hình thức thông tin trò chơi được trình bày và cách trò chơi sẽ phản hồi với các hành động.

Giao diện phải là gì

Đây là một tiếp xúc xúc giác với các tiện ích. Nó bao gồm cảm ứng cảm ứng, hành động với một con chuột hoặc cần điều khiển.

Cấu trúc cơ sở dữ liệu logic (DDL).

Các điện thoại thông minh sử dụng màn hình cảm ứng ngụ ý cử chỉ và giao diện xúc giác. Người dùng chạm vào các yếu tố, hệ điều hành hoặc ứng dụng nhận lệnh từ nó và thực hiện chúng.

Добавить комментарий