- 博客(10)
- 收藏
- 关注
原创 软件构造|可复用技术
从类、API、框架三个层面学习如何设计可复用软件实体的具体技术软件复用软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。(源于:百度)复用级别:我们将软件复用划分为四种类型:代码级复用:就是通过编写大量的公共类,公共函数等等,供开发人员直接使
2021-05-19 00:11:45
506
原创 软件构造|GRASP模式
GRASP模式GRASP,全称为General Responsibility Assignment Software Pattern,即通用职责分配软件模式,它由Aplying UML and Pallerns(UML 和模式应用)一书作者Craig Larman提出。与其将它称为设计模式,不如称为设计原则,因为它是站在面向对象设计的角度,告诉我们怎样设计问题空间中的类与分配它们的行为职责,以及明确类之间的相互关系等,而不像GoF模式一样是针对特定问题而提出的解决方案。因此GRASP站在一一个更高的角度来
2021-05-18 22:49:37
641
翻译 麻省理工学院|软件构造|课程翻译
阅读27:小语言 I6.031中的软件防虫 :在今天可以改正,在以后也可以改正。容易明白 :与未来的程序员(包括未来的您)能进行清晰的沟通。准备改变 :指能适应变化而无需重写。目标在本阅读中,我们将开始探索一种用于构造和操纵音乐的小语言的设计。底线是:当您需要解决问题时,不要编写程序来解决一个问题,而是构建一种可以解决一系列相关问题的语言。阅读的目的是介绍将代码表示为数据的想法,并使您熟悉音乐语言的初始版本。将代码表示为数据Formula从“递归数据类型”中调用数据类型:Formul
2021-05-16 23:45:05
252
原创 蓝桥学院 算法很美 第一周笔记 位运算
位运算一.涉及位运算的问题1.判断奇偶数。如果X&1=1,那么X为奇数;如果X&1=0,那么X为偶数。原理:奇数的最后一位为1;偶数的最后一位为0.设X=0000 0000 1011 & 0000 0000 0001 =0000 0000 00012.获取二进制位是1还是0(两种解决方案)。例:判断86的二进制第5位是0还是1?1.将1左移四位与86的二进制数进行&运算,结果为1,则第5位为1;否则,第5位为0.2.将86的二进制数右移四位与1进行
2020-07-27 10:47:28
227
原创 Java 类型转换
int->charfor(int j=1;j<n;j++) { a[j][0]=(char)('A'+j);//其中a[j][0]为字符型数组; }char->intfor(int i=0;i<N;i++) { nu[a[i]-'a']++;//其中a[i]为字符型数组;nu[]为整形数组; }int->StringStrin...
2020-03-29 09:12:40
99
原创 蓝桥杯VIP试题 之 基础练习 Sine之舞 - JAVA
原题链接问题描述最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+…sin(n))…) Sn=(…(A1+n)A2+n-1)A3+…+2)An+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印...
2020-03-28 22:40:20
236
原创 蓝桥杯VIP试题 之 基础练习 数的读法 - JAVA
题目链接练习系统链接题目描述Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入123456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 ...
2020-03-27 10:31:27
192
原创 蓝桥杯VIP试题 之 基础练习 完美的代价 - JAVA
问题描述 [原题链接](http://lx.lanqiao.cn/problem.page?gpid=T60)回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda ...
2020-03-23 14:41:45
323
原创 Integer.valueOf和Integer.parselnt的区别
Integer.valueOf和Integer.parselnt的区别String转i成int的两种写法int from = Integer.valueOf(range.getFrom());int from = Integer.parseInt(range.getFrom());那么有什么区别呢?Integer.valueOf(String s,int radix)的源代码为:pub...
2020-03-10 19:25:27
740
原创 Java声效计算器(带有十进制转二进制和十六进制的功能)
@TOC Java声效计算器(带有十进制转二进制和十六进制的功能)声明:这是我们学校老师布置的一次期末课设,要是只靠在课堂上学的知识是不可能完成这个课设的,做这个课设,我在课下看了一些关于Java用户图形界面的书,我又结合北大教授的讲课的内容,完成了这次课设。我对比较难理解的代码和重要代码已经注释,如果我有哪一部分写的不明白的地方请大家在评论区留言。设计思路:首先运用swing.JFr...
2019-07-20 10:23:30
1793
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人