Several Basic Concepts in software development
Peixu. Zhu
Do you really have a deep understanding of the concepts that often talk about?
Abstract
Abstract features exist only in thought and theory, rather than physical or specific existence. (Not an abstract class in C ++)
Abstraction is permanent and will not change with time and space.
Specific Concrete
It is physical or materialized.
It does not last forever. It changes with time and space, and only exists in the specific time and space.
The biggest difference between a concrete and an abstract is whether it changes with time and space, that is, whether it exists in our four-dimensional space.
Entity
An entity is an individual thing ),Unit for division and Recognition.
Abstract Entities refer to abstract individual things, while specific entities refer to specific individual things, not only physical existence, but also legal, economic, or political entities.
Attribute attribute
The ing between a specific object and an abstract object describes its nature, measurement, and quality.
Describes a specific object through the attribute.
Identify
Identifies the metadata representation of the real world (unique and non-analytic), and determines the constant characteristics of a specific entity in time and space changes, that is, we identify a specific thing through the constant changes in time and space.
Snapshot
A set of all attributes of a specific object at a specific time point.
CATEGORY species
Essentially equivalent object common properties (set ?).
Context: they all have the xxx feature
Abstract category: Natural Number, color
Specific category: Man, state
The category of an object determines how the object is built and exists. (Similar to class/struct/Union in C ++)
Genus
It is used to describe certain categories with the same aspect. (Similar to the template class in C ++ or the generic class in Java)
An entity belongs to a category. A category belongs to a category. An entity can belong to multiple categories, and each category describes certain features.
At the same time, a category is also an abstract entity.
Function
A rule that associates abstract entities (parameter arguments) of several classes with abstract entities (result) of a class.
Function input and output are abstract entities.
In terms of Computer Implementation, a function is a value ing and the value does not depend on the address in the memory.
If the parameter of a function can be mapped to the same result after it is replaced by an equivalent value, the function is regular. Non-regularized functions require parameter replacement.
Data Datum
A finite sequence of 0/1 bits.
When a data object only represents an abstract object, it is called a good state for this value type.
Value
The value type that corresponds to a category to a dataset ). Category: Dataset
The data corresponding to an object is the representation of this object (reprensentation), and this object is the interpretation of this data (Interpretation ).
A data and its interpretation are values ). Value = Data + interpretation, that is, a finite sequence of 0/1 belonging to a category.
When a value of the Value Type represents a real subset of the abstract entity of the category, it is called the value type as a real part (such as INT); otherwise it is called all (such as bool ).
When each abstract object has at most one value, this value type is called unique representation.
If a value has more than one explanation, the value type is ambiguous.
Equivalent, equal representation
The two values of a value category are equivalent (equal) only when they represent the same abstract entity.
When the 0/1-bit sequences of these two values are the same, they are called the representationally equal.
Unique value type: equivalent → Equal Representation
Unambiguous Value Type: Equal Representation → equivalent
Object
An object refers to the representation of a specific object in memory as a value (a finite 0/1 series ). That is to say, the object is for a specific object. The state of an object is a snapshot of a specific object. At the same time, an object also has resources, such as memory and file records, to maintain its State (for example, persistence object ). Any object has a unique starting address to obtain all its resources. (Think of the C ++ Memory Object Model)
Values are independent in different computers and implementations, while objects are subject to specific implementations because values are abstract and objects are specific.
An object is variable, so it can be used to represent a specific object. You only need to change its value based on time and space. It can also be used to represent an abstract object, as long as it remains unchanged.
The object has an identifier, so the object also needs to be identified.
Two objects of the same object type have the same state, that is, they are the same.
Entity↔Value↔Object
Object Type
Saves and modifies object values in memory. Each object belongs to a certain object type. (Think of the class concept in C ++)
Several Basic Concepts in software development