An open API service indexing awesome lists of open source software.

https://github.com/1chooo/object-oriented-analysis-and-design-writeups

โœ๐Ÿป NCU-SE6029-2024-Spring-Object-Oriented Analysis and Design (OOAD) Notes
https://github.com/1chooo/object-oriented-analysis-and-design-writeups

cpp java mob-programming object-oriented-programming

Last synced: about 1 year ago
JSON representation

โœ๐Ÿป NCU-SE6029-2024-Spring-Object-Oriented Analysis and Design (OOAD) Notes

Awesome Lists containing this project

README

          

# Object Oriented Analysis and Design Writeups

> 2024-Spring-OOAD
>
> *NO OFFENSE MEANS I AM ABOUT TO INSULT YOU, BUT DONT GET MAD*

## [`C++` Project Templates Structure](./templates/)

```
PROJECT_ROOT
โ”œโ”€โ”€ bin/
โ”‚ โ””โ”€โ”€ main.out
โ”œโ”€โ”€ include/
โ”‚ โ””โ”€โ”€ *.h
โ”œโ”€โ”€ src/
โ”‚ โ””โ”€โ”€ *.cpp
โ”œโ”€โ”€ test/
โ”‚ โ””โ”€โ”€ :
โ””โ”€โ”€ build.sh
```

### How to **compile and execute** the `MAIN PROGRAM` with this templates?
```sh
g++ -Iinclude -o src/*.cpp -o bin/main.out && ./bin/main.out
```

## Genuine Understanding V.S. Superficial Knowledge.

```cpp
class EmployeeCensus: public ListContainer {

public:
...
// public routines
void AddEmployee ( Employee employee );
void RemoveEmployee ( Employee employee );
Employee NextItemInList();
Employee FirstItem;
Employee LastItem;
...
private:
...
}
```

- ๆž็ฌ‘้กŒ็›ฎ (ไพ‹ๅฆ‚๏ผŒๅ‰ 10 ๅๆถ็ญ”่€…ๆœ‰ๅˆ†)
- ๅ่ฉž่งฃ้‡‹ (ๅ‰ 30% ๆปฟๅˆ†๏ผŒไธญ้–“ 30% 60 ๅˆ†๏ผŒๅฐพๅทด 40% 30 ๅˆ†)
- ๅšด้‡ๆ€่€ƒ้กŒ (ๅฐๆฏ”่ผƒ้‡่ฆ๏ผŒไธๆถ็ญ”๏ผŒ็ตฆไฝ ๆปฟๆปฟ็š„ๆ™‚้–“)

> [!WARNING]
> ๅ–”๏ผไฝ ๆŠ„่ฅฒๅฐฑ 0 ๅˆ†๏ผŒไฝ ็ตฆๅˆฅไบบๆŠ„่ฅฒไฝ ๅฐฑ่ฎŠๆˆ 50% ๅˆ†ๆ•ธ

ๆฏไธ€้กŒๅ…ฌๅ‘Šไน‹ๅ‰ๆœƒๅ‘Š็Ÿฅๅ“ชไธ€็จฎ้กžๅž‹

## Materials

- [Software Engineering Basics](./materials/00-software-engineering-basics/)
- [Classes and Object](./materials/01-classes-and-object/)
- [Pointer, Reference](./materials/01-5-pointer-reference/)
- [Inheritance](./materials/02_inheritance/)
- [Why You Should Not Abuse Inheritance Over Composition](./materials/02-6-why-you-should-not-abuse-inheritance-over-composition/)
- [Polymorphism](./materials/03-polymorphism/)
- [Multiple Inheritance](./materials/04-multiple-inheritance/)

## Collaboration Guidelines
### Forking this Repository:

Fork the [`object-oriented-analysis-and-design-writeups`](https://github.com/1chooo/object-oriented-analysis-and-design-writeups) repository into your own workspace.

### Cloning the Repository to Your Workspace:

```shell
$ git clone git@github.com:/object-oriented-analysis-and-design-writeups.git
```

### Setting Upstream Remote:
```shell
$ git remote add upstream git@github.com:1chooo/object-oriented-analysis-and-design-writeups.git

$ git remote -v
origin git@github.com:/object-oriented-analysis-and-design-writeups.git (fetch)
origin git@github.com:/object-oriented-analysis-and-design-writeups.git (push)
upstream git@github.com:1chooo/object-oriented-analysis-and-design-writeups.git (fetch)
upstream git@github.com:1chooo/object-oriented-analysis-and-design-writeups.git (push)
```
### Pull Requests:
If you have any valuable ideas to contribute, please create a pull request and provide details about the outstanding work you've done.

### Issue Reporting:
If you encounter any problems while contributing to this project, please report the issues in the [object-oriented-analysis-and-design-writeups/issues](https://github.com/1chooo/object-oriented-analysis-and-design-writeups/issues) section.

### Important Notes:
> [!IMPORTANT]
> #### Make sure to synchronize and update your repository before initiating a pull request:
> 1. Run `git stash save` to temporarily stash your local changes.
> 2. Run `git fetch upstream` to sync the source project with your local copy.
> 3. Run `git checkout main` to switch to the main branch.
> 4. Run `git merge upstream/main` to merge the updated remote version into your local copy. If there are no conflicts, the update process is complete.
> 5. Run `git stash pop` to apply your temporarily stashed changes back to your working directory. Resolve any conflicts if necessary.

## CONTACT INFO.

> eCloudValley Cloud Developer Intern
> **Hugo ChunHo Lin**
>
>
> ๐Ÿ“ฉ E-mail: hugo970217@gmail.com
>

> ๐Ÿงณ Linkedin: Hugo ChunHo Lin
>

> ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป GitHub: 1chooo
>
>

## License
Released under [MIT](./LICENSE) by [Hugo ChunHo Lin](https://github.com/1chooo).

This software can be modified and reused without restriction.
The original license must be included with any copies of this software.
If a significant portion of the source code is used, please provide a link back to this repository.