Trong thiết kế máy tính xách tay, shim là một thư viện nhỏ tuổi rất có thể ngăn API một cách trong veo, chuyển đổi các tyêu thích số được truyền, xử trí chính chuyển động hoặc chuyển qua làn đường khác chuyển động làm việc địa điểm khác. Shims thường xuyên mở ra Lúc hành động của API biến đổi, cho nên vì vậy gây ra sự cầm tương hợp cho các áp dụng cũ vẫn dựa vào tác dụng cũ rộng. Trong phần đa ngôi trường hợp này, API cũ rộng vẫn có thể được hỗ trợ vì một tờ cân xứng mỏng tanh bên trên mã mới rộng. Shims cũng có thể được thực hiện nhằm chạy các công tác bên trên các gốc rễ ứng dụng khác nhau cơ mà bọn chúng được cách tân và phát triển.

Bạn đang xem: Shim là gì, nghĩa của từ shim trong tiếng việt shim tiếng anh là gì


— Prasoon Saurav mối cung cấp
82
Câu vấn đáp này sẽ không khác gì triển khai tra cứu kiếm google thực tế trên wikipedia. Một ví dụ đã tốt rất đẹp.
— dance2die
4
Điều này nghe có vẻ như nlỗi việc áp dụng chủng loại xây cất Facade để giao bôi những tlỗi viện.
— blz
84

Thuật ngữ "shim" nhỏng được tư tưởng vào Wikipedia về khía cạnh chuyên môn sẽ được phân nhiều loại, dựa vào có mang của nó, như là một trong những mẫu mã thi công "Kết cấu". Nhiều giao diện mẫu mã kiến tạo của kết cấu mạng được bộc lộ hơi ví dụ trong mô hình xây cất phần mềm phía đối tượng (một số trong những người sẽ nói là defacto) xem thêm "Mẫu thi công, các yếu tố của phần mềm hướng đối tượng người dùng có thể tái sử dụng" được hotline là "Gang of Four" .

Vnạp năng lượng phiên bản "Gang of Four" demo tối thiểu 3 mẫu mã được tùy chỉnh cấu hình giỏi, được hotline là "Proxy", "Adaptor" với "Facade", tất cả đều cung cấp công dụng nhiều loại thứ hạng shim shlặng. Trong hầu hết các nghành, bài toán sử dụng cùng bỏ dở bài toán thực hiện những từ bỏ viết tắt khác nhau cho và một tư tưởng gốc khiến hầu hết tín đồ lầm lẫn. Sử dụng từ bỏ "shyên ổn shim" nhằm biểu thị những mẫu mã kiến thiết "Proxy" , "Sở điều hợp" với "Mặt tiền" rõ ràng rộng là 1 ví dụ cụ thể về nhiều loại tình huống này. "Shim" đơn giản là 1 trong thuật ngữ chung hơn cho các nhiều loại "Cấu trúc" cụ thể hơn "Proxy", "Adaptor", "Facade" cùng có thể những nhiều loại khác.


— Doug mối cung cấp
5
Câu vấn đáp này cho là shyên ổn là một trong mẫu thiết kế (một trong các khôn xiết nhiều), đánh tên mang lại một trong những mẫu mã kiến thiết tương tự và tiếp tục nói về cách đông đảo tín đồ bị lầm lẫn bởi những từ viết tắt khác nhau. Nhưng nó ko đích thực vấn đáp câu hỏi lúc đầu về shyên là gì, nó làm gì hoặc thực hiện ra làm sao.
— Richie Thomas
53
Giải phù hợp đơn giản và dễ dàng qua phyên ổn hoạt hình

Một ví dụ về shim:

*

Tóm lược

Lưu ý: sự tương tự như bị căng thẳng. thường thì Ralph đang nhận ra CHÍNH XÁC phần lớn gì anh ta thưởng thức - nhưng qui định của CÁCH nó thu được là điều nhưng mà anh ta rất có thể ko ao ước chờ.

Một shyên là một trong những mã quan tâm tới những gì được hỏi (bằng cách "tiến công chặn"), mà không ai thận trọng rộng về nó. Đây là tư tưởng phổ biến. Bây giờ đồng hồ các bạn sẽ có thể phát âm với phát âm mục wikipedia trên shims.


— Bác sĩ mổ xoang nguồn
13

Về xuất phát của từ, phầm mềm trường đoản cú điển của Apple

noun a washer or thin strip of material used lớn align parts, make them fit, or reduce wear.verb ( shimmed, shimming) < trans. > wedge (something) or fill up (a space) with a shlặng.ORIGIN early 18th cent.: of unknown originĐiều này còn có vẻ cân xứng tương đối tốt cùng với biện pháp những nhà xây đắp web thực hiện thuật ngữ này.


— Thilo mối cung cấp
13

Các miếng chêm được sử dụng trong .net 4.5 Microsoft Fakes framework để bóc tách áp dụng của chúng ta ngoài các cụm không giống nhằm thí điểm đơn vị chức năng . Shims chuyển làn những cuộc Điện thoại tư vấn mang đến các phương thức cụ thể nhằm mã nhưng bạn viết như một trong những phần của bài xích đánh giá của bạn


— Michael Freidgeyên ổn nguồn
12

Theo bài viết của Microsoft "Làm riêng biệt miếng chêm" :

Đó là 1 phxay ẩn dụ dựa trên tự shlặng trong giờ đồng hồ Anh, đấy là một thuật ngữ kỹ thuật được thực hiện nhằm miêu tả một miếng mộc hoặc kim loại được cyếu vào giữa hai thiết bị thể để gia công cho cái đó khớp với nhau giỏi hơn. Trong thiết kế máy vi tính, shim là một trong những thỏng viện nhỏ tuổi hoàn toàn có thể chặn API một phương pháp nhìn trong suốt, biến hóa những tsi số được truyền, từ xử lý chuyển động hoặc chuyển hướng vận động sinh sống nơi không giống. Shims cũng hoàn toàn có thể được thực hiện để chạy các lịch trình trên các gốc rễ phần mềm khác biệt cơ mà bọn chúng được cải tiến và phát triển.

Tôi giải thích điều này Tức là shlặng là một thuật ngữ chung mang đến bất kỳ tlỗi viện mã như thế nào chuyển động như một fan trung gian với biến đổi một trong những phần hoặc trọn vẹn hành vi hoặc hoạt động vui chơi của một chương trình. Giống như một tín đồ trung gian thực thụ, nó có thể tác động đến tài liệu được truyền cho chương trình đó hoặc ảnh hưởng mang lại dữ liệu được trả về trường đoản cú lịch trình đó.

Bài viết thực hiện API Windows làm cho ví dụ và tôi thấy câu sau gồm liên quan:

Ứng dụng thường ngần ngừ rằng thử khám phá đã đưa thanh lịch DLL trong thời điểm tạm thời vắt vị Windows cùng Windows lừng chừng rằng hưởng thụ đến từ một nguồn khác bên cạnh ứng dụng (bởi vì DLL shyên chỉ là 1 trong DLL không giống trong tiến trình của ứng dụng) .

Để bao gồm hóa trích dẫn này, nhì công tác tạo thành "bánh mì" của "bánh sandwich shim" cần yếu phân biệt giữa rỉ tai cùng với lịch trình công ty đối tác của họ cùng rỉ tai với shim.

Một số ưu và nhược điểm của Việc sử dụng miếng chêm là gì?

Một lần tiếp nữa, trường đoản cú bài bác viết:

quý khách hàng rất có thể sửa các áp dụng mà ko yêu cầu truy cập vào mã mối cung cấp hoặc ko chuyển đổi chúng. quý khách hàng đề xuất chịu một lượng tối thiểu chi phí quản lý bổ sung cập nhật ... và bạn có thể sửa một số trong những lượng vận dụng hợp lý và phải chăng Theo phong cách này. Nhược điểm là hỗ trợ bởi vì hầu hết các công ty cung ứng ko cung cấp những vận dụng lung linh. Quý khách hàng bắt buộc sửa đều áp dụng bằng miếng chêm. Hầu không còn hầu như bạn thường để ý các miếng chêm cho những ứng dụng mà lại công ty cung ứng ko chuyển động, ứng dụng không đủ kế hoạch để thưởng thức hỗ trợ hoặc họ chỉ ao ước mua một thời gian.

Trong ngữ chình ảnh của thắc mắc này, những thuật ngữ nlỗi "proxy", "bộ chuyển đổi" và "khía cạnh tiền" bao gồm chân thành và ý nghĩa hơn (tối thiểu là cùng với tôi) sau khoản thời gian phát âm liên kết bên trên.

Xem thêm: Cách Để Tiến Hóa Eevee Tiến Hóa Thành Umbreon Và Espeon Thành Công 100%


Nlỗi bạn cũng có thể thấy trong vô số phản hồi ở chỗ này, shim là một nhiều loại cỗ điều thích hợp cung cấp công dụng ở cấp cho API nhưng không độc nhất vô nhị thiết phải là một trong những phần của API kia. Chủ đề này có rất nhiều bình luận giỏi và khá đầy đủ, vày vậy tôi không mở rộng khái niệm không chỉ có thế.

Tuy nhiên, tôi cho rằng tôi có thể thêm một ví dụ tuyệt, sẽ là Javascript ES5 Shyên ( https://github.com/es-shims/es5-shyên ổn ):

Javascript sẽ phát triển không ít trong vài ba năm qua với trong các những cố chuyển đổi đối với đặc tả ngôn từ, không hề ít cách làm new đã có được cung cấp những đối tượng người dùng chủ công của chính nó.

lấy một ví dụ, vào quánh tả ESnăm ngoái (còn được gọi là ES5), cách thức findđã làm được cung ứng Arraynguyên ổn mẫu mã. Vì vậy, trả sử bạn đang làm việc mã của bản thân bằng chế độ JavasScript trước thông số kỹ thuật chuyên môn này (ví dụ: Nút ít 0.12) không cung ứng cách thức đó. Bằng biện pháp thiết lập shyên ES5, các cách làm new này sẽ tiến hành sản xuất Arraynguyên chủng loại, có thể chấp nhận được các bạn sử dụng chúng trong cả khi chúng ta không chạy xe trên một quánh tả JavaScript new hơn.

quý khách hàng rất có thể hỏi: tại sao ai đó sẽ làm cho điều ấy nuốm do nâng cấp môi trường thiên nhiên lên phiên phiên bản new rộng (trả sử là Nút ít 8)?

Có tương đối nhiều tình huống thực tiễn trong số ấy phương pháp tiếp cận kia bao gồm ý nghĩa. Một ví dụ điển hình:

Giả sử các bạn gồm một hệ thống cũ đang hoạt động vào môi trường cũ với bạn cần áp dụng những phương pháp new điều đó để triển khai / sửa chữa thay thế một tác dụng. Việc upgrade môi trường thiên nhiên của công ty vẫn đang rất được tiến hành vì chưng bao gồm sự việc cân xứng yên cầu nhiều đổi khác và kiểm soát mã (một nhân tố quan tiền trọng).

Trong ví dụ này, chúng ta cũng có thể thử chế tạo phiên bạn dạng công dụng như vậy, cơ mà điều đó đã khiến cho mã của bạn nặng nề hiểu hơn, phức hợp hơn, hoàn toàn có thể đưa ra các lỗi new cùng sẽ trải đời mặt hàng tấn thể nghiệm bổ sung cập nhật chỉ nhằm bao quát một tính năng nhưng chúng ta biết nó sẽ sở hữu được sẵn trong phiên bản tiếp theo.

Ttuyệt vào đó, bạn có thể thực hiện shim này và sử dụng các cách tiến hành mới này, tận dụng thực tế là sửa lỗi / tính năng này sẽ tương thích sau khoản thời gian tăng cấp, vì chưng bạn sẽ áp dụng những thủ tục đang biết có sẵn vào thông số chuyên môn tiếp theo. Và có một lý do xẻ sung: vị các cách tiến hành này có nguồn gốc từ bỏ sệt tả ngữ điệu tiếp sau, hết sức hoàn toàn có thể bọn chúng đã chạy nkhô giòn rộng bất kỳ thực thi làm sao bạn cũng có thể tiến hành nếu như khách hàng cố gắng sản xuất phiên bạn dạng của riêng biệt bản thân.

Một kịch bản thực tế khác cơ mà cách tiếp cận điều đó được mừng đón là ở cấp cho trình cẩn thận. Giả sử bạn cần hỗ trợ trình thông qua cũ cùng ước ao tận dụng những tính năng được cải thiện hơn này. Javascript là ngữ điệu có thể chấp nhận được bạn thêm / sửa thay đổi các thủ tục trong số đối tượng mấu chốt của nó (nhỏng thêm những cách làm vào ngulặng chủng loại Array) và những thư viện shyên ổn đó đầy đủ xuất sắc để thêm các cách tiến hành kia chỉ khi câu hỏi xúc tiến hiện nay thiếu hụt bọn chúng.

PS: 1) quý khách đã thấy thuật ngữ "Polyfill" liên quan đến những miếng chêm Javascript này. Polyfill là một trong những nhiều loại shim chuyên được dùng rộng được thực hiện để cung cấp khả năng tương hợp về phía đằng trước trong các thông số kỹ thuật cấp cho trình săn sóc khác biệt. Nhân một thể, ví dụ của tớ sinh hoạt trên nhắc chính xác mang đến ví dụ như vậy.

2) Shims không giới hạn trong ví dụ này (thêm tính năng sẽ có trong phiên phiên bản tương lai). Có những trường thích hợp thực hiện không giống nhau cũng trở nên được xem là một shyên ổn.

3) Nếu các bạn hiếu kỳ về phong thái xúc tiến polyfill cụ thể này, bạn cũng có thể mngơi nghỉ thông số Javascript Array.find và cuộn đến dưới trang chỗ bạn sẽ tìm kiếm thấy thực hiện bao gồm tắc mang đến phương thức này.