2010-11-11 62 views
9

Sử dụng online dictionary tools không thực sự hữu ích. Tôi nghĩ rằng cách đóng gói được sử dụng trong khoa học máy tính không chính xác phù hợp với ý nghĩa của nó bằng tiếng Anh đơn giản.Từ trái nghĩa của việc đóng gói là gì?

Từ trái nghĩa của phiên bản encaspulate của khoa học máy tính là gì? Cụ thể hơn, một từ trái nghĩa để đóng gói sẽ làm việc như một tên hàm.


Tại sao tôi nên quan tâm? Đây là động lực của tôi:

// A class with a private member variable; 
class Private 
{ 
public: 
    // Test will be able to access Private's private members; 
    class Test; 
private: 
    int i; 
} 

// Make Test exactly like Private 
class Private::Test : public Private 
{ 
public: 
    // Make Private's copy of i available publicly in Test 
    using Private::i; 
}; 

// A convenience function to quickly break encapsulation on a class to be tested. 
// I don't have good name for what it does 
Private::Test& foo(Private& p) 
{ return *reinterpret_cast<Private::Test*>(&p); } // power cast 

void unit_test() 
{ 
    Private p; 
    // using the function quickly grab access to p's internals. 
    // obviously it would be evil to use this anywhere except in unit tests. 
    assert(foo(p).i == 42); 
} 
+0

Trước tiên, bạn cần phải trả lời câu hỏi: _what_ được đóng gói? Sau đó, nếu bạn nói một cái gì đó cụ thể, sau đó bạn có thể đảo ngược các hoạt động bằng cách, nói, làm cho nó công cộng hoặc có thể truy cập mà là một cái gì đó giống như xuất bản nó. –

Trả lời

19

Từ trái nghĩa là "C".

Ok, chỉ đùa thôi. (Sắp xếp của.)

Điều kiện tốt nhất tôi có thể đưa ra là "phơi bày" và "vi phạm".

+0

'phơi bày' thật tuyệt và ngắn.Tôi thực sự thích 'vi phạm' vì nó cũng truyền đạt những gì tôi đang làm trong khi đưa ra một cảnh báo cho người dùng không tự nguyện. –

+0

Vi phạm cũng có thể truyền tải chính xác cách đối tượng sẽ cảm nhận về hành động của bạn, nhưng việc nhân cách hóa các bit bộ nhớ trở thành lãnh thổ chủ quan hơn ... – cdhowie

+0

Bây giờ, nếu bạn đã nói "xem" ... –

8

Mục đích đằng sau việc đóng gói là ẩn/che/bảo vệ. Các từ trái nghĩa sẽ được tiết lộ/phơi bày/công khai.

3

"Loại bỏ/bẻ khóa đóng gói" là về điều gần nhất tôi đã thấy, trung thực.

Nếu bạn nghĩ từ này theo nghĩa tiếng Anh, để đóng gói các phương tiện để kèm theo trong một cái gì đó. Nhưng theo ý nghĩa CS, có khái niệm về mức độ bảo vệ này và có vẻ như bạn muốn ngụ ý phá vỡ các cấp độ truy cập, vì vậy một cái gì đó như "khai thác" không thực sự truyền đạt ý nghĩa bạn đang tìm kiếm.

Nhưng nếu bạn chỉ nghĩ về mức độ truy cập, có vẻ như bạn đang tạo một thứ gì đó công khai, làm cách nào để "công bố"?

0

Làm thế nào về "spaghetti"?

+0

Bên cạnh trò đùa ngụ ý, 'spaghetti' quá dài để có ích, chưa kể đến một bugger để gõ. –

+0

Nhưng nó bao gồm thuật ngữ này khá tốt. – boatcoder

+0

Có lẽ "pasta" sau đó ;-) –

3

Làm thế nào về Decapsulation ..

Mặc dù nó không phải là một thuật ngữ khoa học máy tính, nhưng trong khoa học y tế, Phẫu thuật cắt bỏ một viên nang hoặc màng bao bọc .. Check-out here ..

+3

Cảnh: (Tại một quán bar đông đúc sau giờ làm việc) Dev1 nói với Dev2, "Bạn đã làm gì hôm nay?" Dev2 trả lời, "Tôi đã phải giải mã một số mã." Đám đông gần đó, nghĩ rằng nó nghe thấy "Tôi đã phải decapitate ai đó", cung cấp cho vẻ vui và lưng đi. –

2

Làm thế nào về " Ý tưởng tồi "?

+0

Bạn đang nói rằng việc bẻ khóa đóng gói cho các bài kiểm tra đơn vị là một ý tưởng tồi? Hoặc cách tiếp cận của tôi là một ý tưởng tồi? –

2

Đây không phải là một câu hỏi đơn giản như vậy - Scott Meyers đã có một bài viết thú vị để chứng minh một số sắc thái xung quanh đóng gói here.

Tôi sẽ bắt đầu với Punchline: Nếu bạn đang viết một hàm có thể được thực hiện như một trong hai thành viên hoặc là một phi người bạn phi thành viên, bạn nên thích thực hiện nó như một hàm không phải là thành viên . Quyết định đó tăng đóng gói lớp học. Khi bạn nghĩ rằng việc đóng gói , bạn nên suy nghĩ các chức năng không phải là thành viên.

+0

Vì vậy, câu hỏi của tôi không nên về đóng gói. Tôi nên yêu cầu một động từ mô tả sự phá vỡ mức độ truy cập-bảo vệ-mức-của-một-đối tượng. –

+1

Không rõ ràng. Nếu bạn tuyên bố thành viên công khai bạn rõ ràng làm cho họ có sẵn. Một "người bạn" không mong muốn là điều tốt nhất tôi có thể nghĩ đến. Làm thế nào về 'unfriend' hoặc' frenemy' (danh từ, nhưng bạn có ý tưởng)? –

0

Từ trái nghĩa của "Đóng gói" là "Trạng thái toàn cầu".

+0

Trạng thái toàn cầu có thể được đóng gói - nếu bạn sử dụng immutable.js với một nguồn chân lý (trạng thái trung tâm), bạn có trạng thái toàn cầu được đóng gói (được truy cập thông qua một giao diện trực tiếp). – Izhaki

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