C#知识|上位机面向对象编程时如何确定类?

哈喽,你好啊,我是雷工!

01 项目分类

1.1、无数据库的项目:应用面向对象的思想和发方法设计,完成各个类的设计过程,确定各个类之间的关系。
1.2、有数据库的项目:项目的框架和思路相对固定,在框架的约束下开发相对简单。
常见的架构:三层架构,MVC架构

02 开发的核心问题

2.1、一个项目中如何确定设计多少个类?
【1】名词分析法:可以根据项目名称或者项目名中的关键词,进行筛选判断,一般情况下根据项目名称就可以确定需要设计哪些类名称。
实际项目中,一个项目名称可能会涉及挺多名词,需要我们按照一定标准筛选哪些名词将要设计成类。
即看将要设计成的类是否可以具备属性和方法等,具备的话可以设计成类,不具备则无法设计成类。
例如:
开发一个[大乐透随机选号器]项目,按照名称分析法,可以找到“大乐透”、"选号器"两个名词。
大乐透:红色球,蓝色球两个属性;
选号器:红色球池,蓝色球池,存储所选两种颜色球的属性;
随机数生成方法;

当确定好类之后,需要按照对象职责明确原则,将属性和发方法分配给对应的类;

【2】头脑风暴:较大规模项目,可以通过集思广益的方式,根据经验设计合适的类;

2.2 确定好的类,怎样确定各个类之间的关系?
【1】、一对一:一个类的对象作为另一个类的属性。
数据库中的数据表也会有一对一的关系。
【2】、一对多:一个类的多个对象作为另一个类的属性,通常这个属性是集合类型(List);
字典类型Dictionary<k,v>;如果是数据表这种关系,体现为“主外键关系”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【风电功率预测-粉丝福利】向量加权平均算法优化卷积神经网络结合长短记忆网络INFO-CNN-LSTM

如何做 风电功率预测是一项重要的任务&#xff0c;可以帮助优化风电发电效率和电网调度。为了提高风电功率预测的准确性&#xff0c;可以使用卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;结合长短期记忆网络&#xff08;Long Short-Term Memory, L…

管道通信机制详解:无名管道 vs 有名管道

目录 无名管道&#xff08;匿名管道&#xff09; 定义 特点 创建与使用 有名管道&#xff08;FIFO&#xff09; 定义 特点 创建与使用 总结 在多进程通信中&#xff0c;管道是一种非常基本且实用的机制&#xff0c;它允许进程间进行数据传输。根据是否在文件系统中有名称&#…

2024中国振威化工装备展

2024上海国际化工设备展览会 第十六届上海国际化工装备博览会将于2024年11月19-21日在国家会展中心&#xff08;上海&#xff09;举办&#xff0c;预计参展企业1000多家&#xff0c;展览面积7万平方米&#xff0c;观众突破10万人次。展会设置石化装备、化工单元设备、化工环保…

Flutter 中的 ChoiceChip 小部件:全面指南

Flutter 中的 ChoiceChip 小部件&#xff1a;全面指南 在Flutter中&#xff0c;ChoiceChip是一种特殊的组件&#xff0c;用于表示一组可选项中的单个选项。它通常用于实现简单的选择功能&#xff0c;如单选按钮或复选框。本文将详细介绍如何在Flutter应用中使用ChoiceChip。 …

【算法基础】你见过ST表吗?它竟然这么强大

文章目录 ST表&#xff08;Sparse Table&#xff09;观察预处理区间求和区间最小值查询 ST表&#xff08;Sparse Table&#xff09; ST表是一种用于区间查询的数据结构。它上面大部分的区间查询都是 O ( l o g n ) O(logn) O(logn)的时间。但它在查询区间最大值最小值问题上非…

算法课程笔记——蓝桥云课第11次直播

算法课程笔记——蓝桥云课第11次直播

收藏与品鉴:精酿啤酒的艺术之旅

啤酒&#xff0c;这一古老的酒精饮品&#xff0c;不仅是人们生活中的日常饮品&#xff0c;更是一种艺术和文化的载体。对于Fendi club啤酒而言&#xff0c;收藏与品鉴更是一门深入骨髓的艺术之旅。 Fendi club啤酒的收藏&#xff0c;不仅仅是简单的存放和保管&#xff0c;而是一…

交换机组网最常见的8大故障及解决方式

有朋友多次提到网络故障&#xff0c;其中在交换机组网时常见的故障比较多&#xff0c;为了便于大家排除这些故障&#xff0c;在此介绍一些常见的典型故障案例及处理思路。 故障1&#xff1a;交换机刚加电时网络无法通信 【故障现象】 交换机刚刚开启的时候无法连接至其他网络…

数据库面试题(MySQL、Oracle)

数据库 数据库的四大特性 原子性&#xff1a; 事务中的所有操作要么全部执行成功&#xff0c;要么全部执行失败&#xff0c;不存在部分执行的情况&#xff1b;成功必须要完全应用到数据库&#xff0c;失败则不能对数据库产生影响&#xff1b; 一致性&#xff1a; 事务在执…

Java面向对象——接口的定义与实现

普通类&#xff1a;只有具体实现 抽象类&#xff1a;具体实现和规范&#xff08;抽象方法&#xff09;都有 接口&#xff1a;只有规范。自己无法写方法。专业的约束&#xff01;约束和实现分离&#xff1a;面向接口编程 接口就是规范&#xff0c;定义的是一组规则&#xf…

k8s StatefulSet

Statefulset 一个 Statefulset 创建的每个pod都有一个从零开始的顺序索引&#xff0c;这个会体现在 pod 的名称和主机名上&#xff0c;同样还会体现在 pod 对应的固定存储上。这些 pod 的名称是可预知的&#xff0c;它是由 Statefulset 的名称加该实例的顺序索引值组成的。不同…

现货黄金在线交易有哪些优势_EE trade

现货黄金在线交易拥有几项独特优势&#xff0c;使其成为广受投资者青睐的贵金属投资方式&#xff1a; 1. 全天候交易 现货黄金市场几乎可以实现24小时不间断交易&#xff0c;投资者可以根据全球市场的变动随时参与交易&#xff0c;这提供了极大的灵活性和即时反应市场变化的能…

PyTorch 中构建神经网络的常用方法介绍

在 PyTorch 中构建神经网络通常有以下几种方法。每种方法都有其特定的应用场景&#xff0c;选择哪种方法取决于你的具体需求&#xff0c;例如模型的复杂度、是否需要多 GPU 训练、是否需要自定义层或操作等。在实践中&#xff0c;这些方法往往是相互结合使用的&#xff0c;以达…

Mysql 如何定位慢查询?

定位MySQL中的慢查询&#xff0c;就像侦探查找案件线索一样&#xff0c;一步步找到让数据库运行变慢的原因。 打开慢查询日志&#xff1a; 首先&#xff0c;得让MySQL开始记录那些跑得慢的查询。这就像是安装了一个监控摄像头&#xff0c;记录下所有的“嫌疑人”。在MySQL里&…

Nginx+Keepalived高可用集群

NginxKeepalived高可用集群 服务器准备 服务器名IP软件包主从n1RIP 192.168.99.111 VIP 192.168.99.200nginx keepaliveMASTERn2RIP192.168.99.122 VIP 192.168.99.200nginx keepalivedh1RIP 192.168.99.133 VIP 192.168.99.200httpdh2RIP 192.168.32.144 VIP 192.168.99.200h…

playwright 自动化框架python教程(七)

使用with语句管理资源生命周期后&#xff0c;还需要page.close()和context.close()吗&#xff1f; 当使用 with 语句管理 Playwright 的资源生命周期时&#xff0c;通常情况下不需要再显式调用 page.close() 和 context.close()。这是因为 with 语句会在其代码块执行完毕后自动…

从入门到精通:.gitlab-ci.yml文件的完整指南

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 从入门到精通&#xff1a;.gitlab-ci.yml文件的完整指南 前言.gitlab-ci.yml文件概述stagesimagesbefore_script和after_scripttagsonly和exceptonly关键字except关键字 artifacts使用方式产物路径其他…

写一个类ChatGPT应用,前后端数据交互有哪几种

❝ 对世界的态度&#xff0c;本质都是对自己的态度 ❞ 大家好&#xff0c;我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder 前言 最近&#xff0c;公司有一个AI项目&#xff0c;要做一个文档问答的AI产品。前端部分呢&#xff0c;还是「友好借鉴」Cha…

结项评审报告

项目名称&#xff0c;《结项评审报告》 项目名称项目编号本文件标识符Company-Project-PCM-REVIEW项目承担部门项目经理立项时间开发完成时间结项评审时间 目 录 0. 基本信息 3 1. 项目资产检查与处理 4 2. 项目综合评估 4 2.1 项目完成情况评估 4 2.2 项目质量评估 4 …

C++后端领域聚焦——存储系统和分布式系统

编程语言和脚本 C/C: 作为核心技能&#xff0c;需要深入理解并熟练使用 C/C 进行开发。Shell: 掌握常用的 Shell 脚本&#xff0c;有助于自动化日常任务和环境配置。Python: 常用于脚本编写、自动化测试、数据处理等&#xff0c;提高开发效率。 计算机基础 数据结构和算法: …