General knowledge of software development

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.