首页 > 其他分享 >.Net 面试题总结

.Net 面试题总结

时间:2024-03-12 23:11:50浏览次数:23  
标签:总结 面试题 原则 观察者 视图 Model WinForm Net View

  1. WPF和WinForm区别
    WPF:分辨率自适应,属性binding,有事件路由、命令绑定、数据模板 数据模板等特性,前后分离,可创建样式动画,页面比 WinForm 更炫酷
    WinForm:自适应差,label控件不可设置透明背景

    区别 WPF WinForm
    句柄 整个窗口为一个句柄 窗口中每个控件都是一个句柄
    渲染 使用DX渲染,硬件加速 GDI渲染
    界面 MVVM绑定 需要修改代码
    动画 Animated属性 通过代码实现
    自适应 支持 不支持
    复杂控件 属性依赖、触发器 代码实现
    驱动方式 数据驱动 事件驱动
  2. MVVM、MVC的概念
    MVVM 是 Model-View-ViewModel 的简写,即模型-视图-视图模型,模型(Model)指的是后端传递的数据,视图(View)指的是所看到的页面UI,视图模型(ViewModel)是mvvm模式的核心,它是连接view和model的桥梁。VM实现了View和Model的自动同步,当Model改变时,View也相应改变。
    优点:低耦合,可重用性强,试图逻辑放在VM中,被多个View重用;独立开发,使页面设计和业务逻辑解耦

    MVC是Model-View-Controller的简写。即模型-视图-控制器。M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑,使用MVC的目的就是将M和V的代码分离。MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。
    优点:代码耦合性低,生命周期成本低,可重用和维护性都较高。
    缺点:不使用小型项目;大部分逻辑在控制层;试图对模型中数据的效率访问,一句Model的操作接口不同,可能多次调用才满足数据显示的需要

  3. 工厂模式

  4. 观察者模式
    定义观察者和被观察者,当被观察者状态发生改变时,通知所有观察者。
    优点: 1. 降低观察者与目标之间的耦合;
    2. 目标与观察者之间建立了一套触发机制
    3. 符合开闭原则
    缺点:1. 目标与观察者之间的关系未完全解除
    2. 当观察者过多时,通知会花费时间,降低效率

  5. 设计原则
    开闭原则:对拓展开放,对修改关闭;为了拓展性好,利于维护和升级
    里氏代换原则:基类可以出现的地方,子类一定可以出现
    依赖倒转原则:针对接口编程,依赖于抽象而不是具体
    接口隔离原则:使用多个隔离的接口,比使用单个接口要好,降低耦合,利于维护和升级
    迪米特法则:知道最少原则,一个视图应该尽可能少的与其他实体之间发生作用,是系统功能模块相对独立
    合成复用原则:尽可能使用合成/聚合的方式,而非继承

  6. 数据库设计原则
    原子性:所有字段都是不可再分解的原子值
    唯一性:每一列都和主键相关,而不能只与主键的某一部分相关(消除部分依赖)
    独立性:每一列数据都和主键直接相关,而不能间接相关

标签:总结,面试题,原则,观察者,视图,Model,WinForm,Net,View
From: https://www.cnblogs.com/Katakana/p/18069592

相关文章

  • .NET CORE微服务之Polly
     概念Polly是一个被.net基金会支持认可的框架,Polly是一个.NET弹性和瞬态故障处理库,允许开发人员以流畅和线程安全的方式表达策略,如重试、断路器、超时、舱壁隔离和回退。Polly的7种策略Polly是一个.NETCore中的弹性和瞬态故障处理库,它提供了多种策略来处理服务故障,确保系......
  • 408重难点总结汇总
     数据结构:栈:B、B+树:随机存取和随机查找的区别:随机存取是指访问存储设备中的数据,而随机查找是指在数据集合中查找特定数据项。 B,B+树支持随机查找。顺序查找和随机查找的区别:顺序查找是无论什么情况都是顺序的随机查找是依次查找数据项,与给定初始值有关散列表......
  • 2024.3 总结
    倒叙总结。link[tag:构造,数论]正着做很困难,正难则反,现在考虑一个数\(a_x\)能否作为结尾,显然要满足\(F(x)=lcm\{a_i|i\neqx\}\)的\(F(x)\)不是\(a_x\)的倍数。在考虑不断取到最后一个数的过程中,\(F(x)\)显然不会上升,可以使用任意顺序的意思。现在还有一个问题,\(F(......
  • 命令行 要查看在Windows上已安装的所有.NET Framework版本 查看在Windows上已安装的
       要查看在Windows上已安装的所有.NETFramework版本,可以按照以下步骤执行:打开命令提示符(CommandPrompt)或PowerShell。可以通过在Windows搜索栏中键入“cmd”或“PowerShell”来找到并打开这些应用程序。在命令提示符或PowerShell中,输入以下命令并按Enter键:......
  • CANopen转Profinet网关连接西门子PLC与变流器通讯
    CANopen转Profinet网关连接西门子PLC与变流器通讯CANopen转Profinet网关(XD-COPNm20)在智能领域,变流器的应用非常广泛,变流器一般会采用CANopen协议。现场采用台达的变流器(支持CANopen协议)作为CANopen从站,S7-1500系列PLC做主站,通过CANopen转Profinet网关(XD-COPNm20)连接变流器与PLC。......
  • 今日总结
    3.1选择子集选择我们关注的子集,将不需要的子集删除。JMP操作:查询数据时只选择关注的列即可。JMP选择子集EXCEL操作:将不需要的列删除即可。EXCEL选择子集3.2字段(列名)重命名若数据集中出现同样列名称,或含义相同的两个列名,为避免干扰分析结果则需要针对某一个数据列的列......
  • kubernetes 安装 kubernetes-dashboard 7.x
    kubernetes安装kubernetes-dashboard7.x介绍Kubernetes仪表板是Kubernetes集群的通用、基于Web的UI。它允许用户管理集群中运行的应用程序并对其进行故障排除,以及管理集群本身。从7.x版开始,不再支持基于Manifest的安装。现在只支持基于Helm的安装。由于多容器设置和对Kong网......
  • 西门子S7.NET通信库【读】操作详解
    在使用西门子PLC进行工业自动化控制的过程中,经常需要与PLC进行数据交换。S7.NET是一款广泛应用于.NET平台的西门子PLC通信库,它为开发者提供了一系列的API函数,以便在C#、VB.NET等.NET语言中轻松实现与西门子PLC的数据交互。本文将详细介绍如何使用S7.NET通信库执行读操作。1......
  • 高dpi下,Vb.net调整控件位置的小经验
     高dpi下,Vb.net调整控件位置的小经验 boy8199/3vdo/club最近写了一个捕快TXT网文采集软件,结果发现在DPI不同的情况下,软件布局会变形.找了半天原因才发现是DPI的问题,默认系统的dpi是96(100%)现在显示器的屏幕比较大,所以好多人会把显示放大到125%或150%导致程序控件变形......
  • C#/.NET/.NET Core拾遗补漏合集(持续更新)
    前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。GitHub开源地址https://github.com/Y......