20 January 2007

Software Engineering: Data/Information Hiding (Definitions)

"In programming, the practice of locating some parts of the system in software structures that are invisible (inaccessible) to others. Usually, the information so hidden includes details that the programmer considers inessential and those aspects of the system that result from design decisions that are somehow difficult or likely to change. Compare with abstraction, which is a category of techniques by which one can make decisions about what information to hide." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"Hiding the state of a class in private member variables." (Jesse Liberty, "Sams Teach Yourself C++ in 24 Hours" 3rd Ed., 2001)

"The ability of an object to hide its members from other parts of a program to protect those members from accidental change." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours" 2nd Ed., 2001)

"The ability of a class to hide the details about how it works from outside code." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"The practice of hiding the details of a module with the goal of controlling access to the details of the module" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Use of segregation in design decisions to protect software components from negatively interacting with each other. Commonly enforced through strict interfaces." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"The practice of hiding details within a module with the goal of controlling access to the details from the rest of the system" (Nell Dale et al, "Object-Oriented Data Structures Using Java" 4th Ed., 2016)

"The dependability concept of not allowing functions access to data structures unless they are specifically designated to do so in the context of a module or object." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"Concealing the structure of some (potentially unstable) parts of a program behind a stable interface." (Karl Beecher, "Computational Thinking - A beginner's guide to problem-solving and programming", 2017)

"The intentional denial of access to operate directly on data without going through specified encapsulating procedures, which operate on the data in a well-controlled manner. See encapsulation." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

No comments:

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.