2 Java学以致用

尚未进行身份认证

我要认证

实战开发,高效学习,少走弯路,传授项目经验

等级
TA的排名 4w+

[转载]工具库和设计模式的关系

良心技术帖,原文链接:https://blog.csdn.net/Ezresl/article/details/106602735教书多年,每次讲到大三的专业技术科和基础课的关系,我总会讲spring工厂模式、AOP代理模式、过滤器的责任链模式,拦截器的装饰模式(或者代理模式)。大二的《设计模式》,在工具库本身的体现、在项目功能开发上的体现,都有广泛应用。前几天,给大二学生讲java项目,创建Thread对象,传入自己编写的Runnable实现类,间接启动run线程函数。run函数里,是java游戏

2020-06-07 17:15:59

青出于蓝:学生博文推荐

一个简单的道理,学生的技术是老师教会的,还是自己学会的?学生的普遍态度:老师教过的,会;没教的,不会。如果是这样,怎么去解决工作中无数的新问题,怎么适应技术、工具的更新换代。老师的技术,来自长期学习各种教程。这种学习的积极性,怎么就没传给学生。2017年,学生学了SSH毕业。2020年,SSM火了。2017届的学生需要再找老师、找培训机构学吗?2017届学生,有没有能力自学SSM,甚至开发一套javaee框架。学生说,这又何苦自己发明框架。一个学生,如果能发明一个简易、简陋的框架,也足够

2020-05-23 07:23:36

软件体系结构:应用软件的设计与开发

一个教务系统的界面设计、UML类、用户权限、数据转换,这是上课讲的几个题目。一款应用软件,还有很多功能要做。后续改进:除了将实验1到实验4,整合做出一个项目。还有很多提高编程能力的项目,可以尝试设计、编码: 了解工作事务流。 适配器模式,实现数据类型转换。 创建型的原型模式,从一个javabean得到另一个javabean。 策略模式、模板方法模式,实现不同的排课算法。 外观模式,把排课算法封装成一个工具类。 装饰模式、代理模式,实现函数执

2020-05-10 06:55:17

学生的专业小组建设路线

先有工程类的教师指导团队,再有可以延续、迭代的学生协会和项目积累,然后培养出技术高手、做创新产品,才有张一鸣、雷军。如果没有这些工作积累,学生在期末、在高年级只能掌握增删改查。先有培养高手的氛围、环境,才有姚壮宪。一个学生,学了分支、循环,靠一个人自学、发明,就做出了《仙剑奇侠传》,这不可能。学习war3做图,也需要老师、社团里的人共同讨论、解决难点。经过长期的努力,才能做出一张好的w...

2020-05-05 00:04:49

努力程度和技术成果

技术成果可以比拼,比如架构的好坏、技术难度、功能的多少。应聘者比拼技术能力,工作中比拼怎样解决产品的具体问题。要达到什么样的技术等级,这和付出多少努力是一致的。有人效率高一些,有人效率低一些,但肯定需要付出大量努力。工作单位电脑上的代码不算,只统计家里的笔记本电脑,统计两个工程文件夹,累计编程量:去掉空行后,java代码是60906行。JSP是1502行。平均每年在家里的电脑上,写...

2020-04-23 11:37:51

设计模式应用教程5:下棋、悔棋、提子、放回

java版围棋程序,功能包括下棋、悔棋、提子、放回,用来讲解一个围棋战斗片段足够了。运行效果:技术方案:落子和悔棋,用一个可撤销的命令模式。提子和放回,再用一个单独的可撤销命令模式。业务逻辑不要混着写在一起,这是设计模式的好处。只要混着写,必然会有大量的数据、状态判断,耦合性大,维护困难。这个程序,分阶段、分版本,循序渐进地写成。第一个版本,是从坦克大战拆分出来的模块,画出棋盘...

2020-04-21 19:31:41

设计模式应用教程4:可撤销的命令-悔棋

字符界面的运行截图:工程结构:悔棋的关键,是具体命令怎样保存、撤销下棋的参数。有两种方案:1. 用一个字符串"x,4,y,3,type,1"存放所有数据,也可以是JSON。2. 用JavaBean封装。package com_20181616666_YanYang;import java.util.ArrayList;//方案2:棋子坐标、棋子类型整合成一个类...

2020-04-17 08:03:26

设计模式应用教程2:观察者模式的应用

一个观察者,观察两个主题的改进写法。让一个没有特殊父类、接口的普通类,具备被观察的功能。运行结果:主题接口和实现类:public interface Subject { public void addObserver(Observer o); public void delObserver(Observer o); public void notifyObserver(O...

2020-04-16 20:31:20

软件设计与体系结构:设计过程

无论是应用软件、游戏软件,即使是直接打开编辑器,完成了全部编码,也必然经历过从用例、数据到细节的详细设计过程。这一篇博客,是用XMIND生成的markdown文件写成,确实很方便。第4章 4.1-4.44.1 UML设计过程用例:用例图 顺序图顶层架构:包图 类图界面:类图 状态图界面跳转数据模型,设计精化,类设计,构件部署4.2 用例分析与设计用例图:各个参与者,所有功能某...

2020-04-15 23:25:56

设计模式应用教程3:双向适配器和instanceof的用法

假设有两个接口,又有同名函数,又有不同名的函数。做一个双向适配器:public interface ThreeElectric { public void connect(); public void f2(); public void f3(); public void f4_three();}public interface TwoElectric ...

2020-04-15 12:46:18

毕业设计项目的架构

为什么要多看项目,为什么很多学生只能做到增删改查(这也不容易)。假设几个人看同一个项目开发教程,感受是不一样的:初学者:类怎样写、函数参数和返回值、分支和循环是什么意思 基础良好:Model数据部分、View界面部分、Control程序行为部分,各是什么技术方案 有良好的实践技能:体系结构是什么。分层架构,系统分为哪些子系统、构件。子系统之间是什么关系。工程体系结构举例,我不会安卓编...

2020-04-13 10:16:27

设计模式项目实战--项目功能点

设计模式的目的,是为了开发更灵活、更容易扩展、容易维护的软件。不用设计模式,也可以开发软件。设计模式,可以让小软件变成大软件,以更好的架构,做出更多的功能。当拟定项目功能点后,不必等到期末,甚至可以不动手,先讨论一下会不会做,有没有实施方案。如果有良好的实施方案,编程调试只是时间问题,问题不大。打游戏,讲究胜率,职业选手也有输的时候。专业技术,可以用方案的初期设计来评价。比如,老师有8...

2020-03-25 06:43:36

两个版本的坦克大战加QWER技能 源码

语言无关,这个是java版。Q键:普通子弹,消灭墙和坦克,不能消灭铁皮。W键:穿甲弹,消灭墙和铁皮后,继续飞。碰到坦克后,清除子弹。E键:可以消灭墙,不能消灭铁皮。碰到敌方坦克后,坦克被标记。被标记的敌方坦克,不再发出子弹。R键:同时清除被标记的坦克。这里用的是观察者模式,不用也有其他办法实现。用了的好处是,E和R的技能还可以再改进。用了设计模式,架构更好一些,方便扩展、改进。...

2020-03-23 21:41:01

转载一篇学生作品:命令模式改进

很简单的一个例题改进。但问题就在这,再厉害的高手也是一点一点积累而成。只要做到这一点,每个章节多理解一些,每门课多理解一些,就有技术的领先优势。教师的工作,是让学生少走弯路少踩坑,解决问题。原文链接。https://blog.csdn.net/qq_43191251/article/details/104915303...

2020-03-19 21:30:20

设计模式应用教程1:命令模式的改进

曾经的大四学生实训,培训机构问了一道20分的编程题:字符界面下,模拟浏览器地址栏的前进、后退。这学期教设计模式,我用java界面,做了一下。其实,这道题如果出现在应聘中,应该先答数据结构的解决思路。运行效果:点击后退的效果:// 答案1:设计模式命令模式/** 命令模式用于项目架构* 地址栏点击方向键上、下,和点击按钮图片,都可以触发前进、后退*...

2020-03-13 21:52:53

技术的复杂性和牵强附会

90年度,复杂的技术还没有产生,人们可以开发功能很丰富的小型游戏、大型游戏。当技术变得复杂,大学生只会做课本例题了,只会做实训教的唯一项目。改进功能、做第二个项目,是少数学生能做的,这算不算薄弱。复杂的技术,可能把简单问题复杂化,本来可以简单、直接完成的功能,经过一个复杂的技术方案,反而变得困难。这是以往的一个项目举例。博客的好处,很多细节我记不住,需要翻越以往的资料。现在来看这个...

2020-03-13 20:46:43

[转载]弱类型问题和python版二叉树

总有学生纠结于编译型、解释性、混合型,强类型、弱类型。python是弱类型语言,一个典型的例子,是用python写一个链状关系,比如二叉树。感谢网友分享。原文链接:二叉树(python实现)https://blog.csdn.net/weixin_41503009/article/details/82356000python的集合类库函数,网友的笔记汇总:https://b...

2020-03-09 16:51:46

钢七连实战C3-P3:java具体技术

钢七连四门实战课,前两集的视频片段:https://space.bilibili.com/484762714学生在大学学一年的技术等级。学生在大学学两年的技术等级。课程复习:C3 P1:面向对象的一般问题。 java对象数组的常见错误举例。 C3 P2:难题举例面向对象OOP基本技术:封装,继承,多态面向对象的语言无关。可以是java/c++/js/python.用浏览...

2020-02-28 21:49:38

钢七连实战C2-P2:js坦克大战 40分钟做完版本1.1

C2实战 js坦克大战,40分钟做完版本1.1语言无关。工程不是从零做起。MVC架构,游戏数据Model, 界面/图像库函数,游戏循环,数据刷新,事件处理。业务逻辑,设计模式,有限状态机。第1版 1.1 地图的Model,View,ControlModel 二维数组、后期改为一维数组Control三种基本行为:创建和初始化(执行1次),刷新数据(重复多次),绘图输出鼠标、键盘事件截...

2020-02-22 08:28:00

c2游戏编程 p2讲义要点2 js游戏编程技术

c2游戏编程 p2讲义要点2 js游戏编程技术项目架构Model,View,Control1. Model2. View3. Contrl1.Modelcnt=0; //时间轴的计数器,时间片 0,1,2,3,…地图 map = new Array(); //地图二维数组 0表示没有格子,1表示有格子七种基本类型:8个整数,表示4个小块的相对坐标(x1,y1,x2,y2,x3...

2020-02-22 07:28:25

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取