1. Software version naming
The software version number consists of four parts:
The first part of software architecture or software interface changes
The second part of the software features new
Part Three software bug fix
Part fourth 1. Compile version number plus date version number it is a compile-time version tag, and the general sequence number is incremented. (such as the Windows System version number)
2. Date version number plus the Greek alphabet version number is used to record the current date of the modified item, and every day changes to the item need to change the date version number.
There are 3 common Greek letter version numbers, namely Alpha (Beta version), beta version, release (official version).
Example: 1.1.1.20160101_beta
2. Software development model
Waterfall model
Rapid Prototyping Model
Incremental model
Iterative (evolutionary) models
Spiral Model
3. Software Architecture
MVC pattern
MVP mode
MVVM (MVVC) mode
4. Singleton and prototype (software design mode)
There is only one instance of the singleton. (There is only one unique me in the world)
The prototype creates N objects based on a prototype. (According to "Man", create "man" and "Woman")
5. Software Programming Ideas
Process oriented
Object-Oriented Programming
Plane-oriented programming
6.UML Basic Model Diagram
Use case diagram
Class diagram
Object graph
Activity Chart
State diagram
Sequence diagram
Collaboration diagram
Component diagram
Deployment diagram
7. Byte stream and character stream
The InputStream (input)/outputstream (output) is the suffix of the byte stream.
The word stream is the suffix of reader (input)/writer (output).
BYTE stream: Program-Direct operation file-file
Character Stream: Program-put Cache-write file-file
PS: Prioritize the use of byte streams.
8.stack (heap) and heap (stack)
A heap is a constituent element of a stack. Heap, FIFO first.
A stack is a linear collection whose actions to add and delete elements should be completed in the same paragraph. Stack, advanced back out.
9. Interfaces and abstract classes
An interface refers to some behavior or action. (There is no such behavior or action)
Abstract classes refer to the nature of something. (is not this kind of thing)
10. Blocking and non-blocking
Blocking is waiting for the message, not to leave the message, keep in the way.
Non-blocking is to see the news every once in a while, not to go back, do not block the road.
11. Asynchronous and synchronous
Asynchronous is to do one thing afterwards, do not need to wait for the result, then do another thing.
Synchronization is done after one thing, waiting for the result, to get the results to do another thing.
12. Threads and processes
A thread is similar to all the branches of a tree.
A process is similar to a separate tree.
Threads are part of a process.
General knowledge of software development