OOOO以后,及其极限(2)3 维特跟斯坦(Wittgenstein)与OO  维特跟斯坦是本世纪乃至人类哲学史上最伟大的哲学家之一。 他生前只于1922年出版了一本著作——《逻辑哲学论》(Tractatus Logico-Philosophicus)。 在该书中,他阐述了一种世界观,或者说一种认识世界的观点,这种观点,在六七十年后的今天,终于由一种哲学思想沉淀到技术的层面上来,成为计算机业
转载 2007-12-17 11:18:00
90阅读
2评论
       BUAA OO Unit 2 总结博客HW2-1题目要求与分析本次作业的基本目标是模拟单部多线程电梯的运行。第一次作业只要是起到多线程入门的作用,让我们初步了解多线程的实现方法以及注意事项。数据结构为了让作业有更好的扩展性(其实并没有),我将电梯与调度器分离开,调度器采用工厂模式,分为 Morning, Random 和 Night 三种策略去实现。用 Request 存储所有输入的
转载 2021-05-13 20:17:04
132阅读
2评论
面向对象设计与构造 第二单元总结本单元三次作业内容为模拟电梯的运行,主要涉及的知识点为多线程。第一次作业为单部电梯,需要模拟电梯的开关门、上下行、乘客的进出等;第二次作业增加为3部电梯,并可以根据指令动态增加电梯;第三次作业在第二次作业的基础上设置了不同的电梯类型,不同的电梯运行速度、可到达楼层不同,并且乘客在运送的过程中允许换乘。总体来说,三次作业都侧重于多线程的处理,并且每次作业都是在上一次的
转载 2021-05-13 20:37:39
109阅读
2评论
BUAA_OO_UNIT2一、同步块和锁第一次作业: 第一次作业比较简单,锁作用的对象只有一个schedule,它是仅有的两个线程输入线程和电梯线程的共享对象,这次作业并未设置调度器。 输入线程只有向schedule中加人和为schedule设置结束位的时候需要拿到锁,加人时拿锁是为了防止电梯线程取人的过程和加人的过程出现冲突,造成线程安全问题。而设置终止的时候加锁,是为了防止电梯线程读取sc
转载 2021-05-13 20:33:29
103阅读
2评论
Unit2一、第一次作业1.UML2.Sequence Diagram3.同步块设置与锁处理采用了生产者-消费者模式,用共享对象来连接不同的线程。第一次作业中,我有三个线程:Receiver,Manager,Elevator,用PersonQueue WaitingQueue分别来连接Receiver和 Manager,Manager和Elevator整个程序中的加锁操作只针对有可能发生数据竞争的
转载 2021-05-13 20:35:28
202阅读
2评论
OO第二单元多线程单元总结OO_Unit2总结本单元的编程作业主要实现的是电梯系统的运行,其考察的最大重点是多线程程序编写,着重注意线程安全等问题。难度与跨度上大于第一单元的作业,复杂度取决于个人调度算法的细致与否(个人感觉复杂度略低于第一单元)。本次作业的层次性与架构感要高于第一单元,通俗地说就是比第一单元更像一个“面向对象”的程序设计。因此,在编写代码时对功能的封装等方面的思路也会更加清晰。1
转载 2021-05-13 20:36:33
100阅读
2评论
Unit2_OO_Blog1. 第一次作业1.1 同步块的设置和锁的选择本次架构设计主要借鉴了第三次课上实验的代码设计。设置了读入请求线程、调度线程、电梯线程三个线程。本单元同步块设置主要针对整体的等待队列以及电梯内的乘客队列。在乘客分配时使调度线程持有等待队列、电梯乘客队列的锁;在乘客进出电梯时使调度线程(本次设计中调度线程可以控制乘客进入电梯)或电梯线程持有对电梯内乘客队列的锁。1.2 调度器
转载 2021-04-23 22:02:00
110阅读
2评论
OO-Unit2-电梯调度-总结一、程序结构分析第五次作业代码可视化与数据统计程序类图由于本次只有一台电梯,因此没有使用调度器,而是只设计了一个策略类Scheduler类来实现每到一个楼层根据当前等待的乘客和电梯中的乘客请求来确定目标楼层的功能。而电梯类和输入线程类则是本次作业的两个线程类,分别对应消费者和生产者。程序复杂度分析类复杂度ClassOCavgOCmaxWMCElevator4.571
转载 2021-04-24 20:43:00
184阅读
2评论
# .NET Core DLL 单文件实现指南 ## 简介 在本文中,我将向你介绍如何使用.NET CoreDLL文件打包成单一文件。我们将讨论整个过程的步骤,并提供相应的代码示例和注释。 ## 步骤 下表概述了实现“.NET Core DLL 单文件”的步骤: | 步骤 | 描述 | |-----|-----| | 1. | 创建一个.NET Core类库项目 | | 2. |
原创 2023-08-13 18:24:07
318阅读
lua脚本简介Lua  是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为
转载 2023-06-10 15:24:34
112阅读
# .NET Core指定DLL路径的实现 ## 介绍 在开发过程中,有时我们需要指定特定的DLL路径来加载程序集。在.NET Core中,可以通过配置文件或代码来实现。本文将详细介绍如何实现.NET Core指定DLL路径。 ## 整体流程 下图展示了指定DLL路径的整体流程: ```mermaid stateDiagram [*] --> 配置文件或代码 配置文件或代码
原创 2023-08-17 10:26:24
880阅读
有个系统, 需要适应不同类型的数据库(同时只使用其中一种),如果把数据库操作层提取出来,然后针对不同的数据库使用不同的 DLL, 再根据不同的项目使用不同的库, 在以前的 ASP.NET 中, 直接把相关的 DLL 复制到 BIN 目录就可以了, .NET CORE 把 DLL 复制过去,系统不会自动加载,&
OO-Blogs Unit2单元简介本单元通过迭代开发,最终实现了多种类多电梯(可换乘)调度管理。HW1要求单电梯,有载客量限制,调度无要求但性能不应低于ALS调度。思路和实现这次的需求不算复杂,只需要一个输入线程和一个电梯线程即可实现。为了扩展性,我在输入线程和电梯线程中间插了一个调度器,为后面多电梯的场景留出修改的空间。然而由于这时我并没有感受到到调度器线程的意义所在,故我将调度器和输入线程串
转载 2021-05-13 20:19:11
167阅读
2评论
BUAA_OO_2021_Unit2_Summary(1)基于度量来分析自己的程序结构第一次作业第一次作业为单部电梯,不需要调度器,故基于多线程的考虑,构造接收请求的Dispatch类和实现请求的电梯elevator类,两者均继承Thread类且并行;另外出于线程安全的考虑,构造了WaitingPassenger类封装请求,Dispatch和elevator接收同一个waitingPassenge
转载 2021-05-13 20:37:58
168阅读
2评论
OOOO以后,及其极限(1)1、什么是软件开发?  软件开发的过程就是人们使用各种计算机语言将人们关心的现实世界映射到计算机世界的过程;  现在的计算机的数学理论基础是由计算机的开山鼻祖,大名鼎鼎的图灵于1937年提出的图灵机模型。 随后不到十年,电子计算机就诞生了(1945)。(埃尼亚克)   我们都知道,它当时的主要任务之一就是用于导弹弹道轨迹的计算。当时的软件开发(如果可以称之为软件开
转载 2007-12-17 11:18:00
226阅读
2评论
OOOO以后,及其极限(3)4. OO之后是什么?一、 从软件工程的发展历史来看  1969年NATO会议之后,“软件危机”成为人们关注的焦点。为迎接软件危机的挑战,人们进行了不懈的努力。这些努力大致上是沿着两个方向同时进行的。一是从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现的第一个生命周期
转载 2007-12-17 11:18:00
112阅读
2评论
 很多人看到class,就认为是oo,这是一个误区。class并不等于oooo强调的是object而不是class,class只是它的实现手段之一。基于这样的误区,有人认为下面的做法是错误的: class CMyClass { public:     static void foo()
原创 2010-11-24 14:21:36
576阅读
技术学习
C#
原创 2023-06-12 07:46:55
57阅读
eption was unhandled HResult=-2146233036Message=The type initializer for'Emgu.CV.OCR.Tesseract' threw an exception.Source=Emgu.
转载 2014-02-14 22:49:00
355阅读
2评论
.NET Core - build project specifying ReferencePath我有一个.csproj用于.NetCore平台,具有经典参考。 我在开发环境中使用hintpath属性。 但是我应该在CI环境上构建csproj,将引用程序集放置在其他目录中。在经典的net4上,我已将/p:ReferencePath参数用于MSBuild工具。但是" dotnet构建"没有类似的论
转载 2023-06-06 00:15:01
836阅读
  • 1
  • 2
  • 3
  • 4
  • 5